Staged generic programming

Jeremy Yallop
2017 Proceedings of the ACM on Programming Languages  
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
more » ... and-written code, and so combining high-level programming with uncompromised performance. CCS Concepts: • Software and its engineering → Functional languages; Modules / packages;
doi:10.1145/3110273 dblp:journals/pacmpl/Yallop17 fatcat:23a3xf5a7nc3ribcrvfnnkeeai