5529

Lightweight modular staging: a pragmatic approach to runtime code generation and compiled DSLs

Tiark Rompf, Martin Odersky
Ecole Polytechnique Federale de Lausanne (EPFL), Lausanne, Switzerland
Proceedings of the ninth international conference on Generative programming and component engineering, GPCE ’10, 2010

@inproceedings{rompf2010lightweight,

   title={Lightweight modular staging: a pragmatic approach to runtime code generation and compiled DSLs},

   author={Rompf, T. and Odersky, M.},

   booktitle={Proceedings of the ninth international conference on Generative programming and component engineering},

   pages={127–136},

   year={2010},

   organization={ACM}

}

Download Download (PDF)   View View   Source Source   

2187

views

Software engineering demands generality and abstraction, performance demands specialization and concretization. Generative programming can provide both, but the effort required to develop high-quality program generators likely offsets their benefits, even if a multi-stage programming language is used. We present lightweight modular staging, a library-based multi-stage programming approach that breaks with the tradition of syntactic quasi-quotation and instead uses only types to distinguish between binding times. Through extensive use of component technology, lightweight modular staging makes an optimizing compiler framework available at the library level, allowing programmers to tightly integrate domain-specific abstractions and optimizations into the generation process. We argue that lightweight modular staging enables a form of language virtualization, i.e. allows to go from a pure-library embedded language to one that is practically equivalent to a stand-alone implementation with only modest effort.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2024 hgpu.org

All rights belong to the respective authors

Contact us: