Common implementation approaches for embedding DSLs in general-purpose host languages force developers to choose between a shallow (single-staged) embedding which offers seamless usage, but limits DSL developers, or a deep (multi-staged) embedding which offers freedom to optimize at will, but is less seamless to use and incurs additional runtime overhead. We propose a metaprogrammatic approach for extracting domain-specific programs from user programs for custom processing. This allows for similar optimization options as deep embedding, while still allowing for seamless embedded usage. We have implemented a simplified instance of this approach in a prototype framework for Java-embedded EDSL expressions, which relies on load-time reflection for improved deployability and usability. © 2014 Springer-Verlag.
CITATION STYLE
Scherr, M., & Chiba, S. (2014). Implicit staging of EDSL expressions: A bridge between shallow and deep embedding. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 8586 LNCS, pp. 385–410). Springer Verlag. https://doi.org/10.1007/978-3-662-44202-9_16
Mendeley helps you to discover research relevant for your work.