Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
A fast Fourier transform compiler
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
An Embedded Modeling Language Approach to Interactive 3D and Multimedia Animation
IEEE Transactions on Software Engineering
Domain specific embedded compilers
Proceedings of the 2nd conference on Domain-specific languages
MetaML and multi-stage programming with explicit annotations
Theoretical Computer Science - Partial evaluation and semantics-based program manipulation
The next 700 programming languages
Communications of the ACM
Modular Domain Specific Languages and Tools
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
A special-purpose language for picture-drawing
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
Compiling Embedded Programs to Byte Code
PADL '02 Proceedings of the 4th International Symposium on Practical Aspects of Declarative Languages
Lightweight modular staging: a pragmatic approach to runtime code generation and compiled DSLs
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
Mixed-level embedding and JIT compilation for an iteratively staged DSL
WFLP'10 Proceedings of the 19th international conference on Functional and constraint logic programming
Efficient code generation for a domain specific language
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
Implicitly heterogeneous multi-stage programming
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
HPorter: using arrows to compose parallel processes
PADL'07 Proceedings of the 9th international conference on Practical Aspects of Declarative Languages
Extending little languages into big systems
CEFP'11 Proceedings of the 4th Summer School conference on Central European Functional Programming School
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Composition and reuse with compiled domain-specific languages
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
Hi-index | 0.00 |
Functional languages are particularly well-suited to the implementation of interpreters for domain-specific embedded languages (DSELs). We describe an implemented technique for producing optimizing compilers for DSELs, based on Kamin's idea of DSELs for program generation. The technique uses a data type of syntax for basic types, a set of smart constructors that perform rewriting over those types, some code motion transformations, and a back-end code generator. Domainspecific optimization results from chains of rewrites on basic types. New DSELs are defined directly in terms of the basic syntactic types, plus host language functions and tuples. This definition style makes compilers easy to write and, in fact, almost identical to the simplest embedded interpreters. We illustrate this technique with a language Pan for the computationally intensive domain of image synthesis and manipulation.