Staging generic programming

Jeremy Yallop
2016 Proceedings of the 2016 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation - PEPM 2016  
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 unfortunate choice of writing succinct but slow programs or writing tedious but efficient programs. We show how to systematically transform an implementation of the Scrap Your Boilerplate library in the multi-stage programming language MetaOCaml to eliminate the overhead, making it possible to
more » ... the benefits of high-level abstract programming with the efficiency of low-level code.
doi:10.1145/2847538.2847546 dblp:conf/pepm/Yallop16 fatcat:qzlpgfexyfduborunh7k3eg2ni