Martin Bravenboer, Eelco Visser. Designing Syntax Embeddings and Assimilations for Language Libraries. Technical Report TUD-SERG-2008-042, Software Engineering Research Group, Delft University of Technology, 2008.
Language libraries extend regular libraries with domain-specific notation. More precisely, a language library is a combination of a domain-specific language embedded in the general-purpose host language, a regular library implementing the underlying functionality, and an assimilation transformation that maps embedded DSL fragments to host language code. While the basic architecture for realizing language libraries is the same for all applications, there are many design choices to be made in the design of a particular combination of library, guest language syntax, host language, and assimilation. In this paper, we give an overview of the design space for syntax embeddings and assimilations for the realization of language libraries.