Affiliation:
1. University of Cambridge, UK
Abstract
Generic programming libraries such as Scrap Your Boilerplate eliminate the need to write repetitive code, but typically introduce significant performance overheads.
This leaves programmers with the regrettable choice between writing succinct but slow programs and writing tedious but efficient programs.
Applying structured multi-stage programming techniques transforms Scrap Your Boilerplate from an inefficient library into a typed optimising code generator, bringing its performance in line with hand-written code, and so combining high-level programming with uncompromised performance.
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference49 articles.
1. Optimizing SYB is easy!
2. Optimizing SYB traversals is easy!
3. Extensional normalisation and type-directed partial evaluation for typed lambda calculus with sums
4. Andrej Bauer and Matija Pretnar. 2012. Programming with Algebraic Effects and Handlers. CoRR abs/1203.1539 (2012). http://arxiv.org/abs/1203.1539 Andrej Bauer and Matija Pretnar. 2012. Programming with Algebraic Effects and Handlers. CoRR abs/1203.1539 (2012). http://arxiv.org/abs/1203.1539
5. Improving binding times without explicit CPS-conversion
Cited by
17 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Staged Compilation with Module Functors;Proceedings of the ACM on Programming Languages;2024-08-15
2. Layered Modal Type Theory;Lecture Notes in Computer Science;2024
3. MetaOCaml: Ten Years Later;Lecture Notes in Computer Science;2024
4. MacoCaml: Staging Composable and Compilable Macros;Proceedings of the ACM on Programming Languages;2023-08-30
5. Datatype-generic programming meets elaborator reflection;Proceedings of the ACM on Programming Languages;2022-08-29