Tony Clark, Laurence Tratt. Formalizing homogeneous language embeddings. In Jurgen J. Vinju, Torbjörn Ekman, editors, Proceedings of The Ninth Workshop on Language Descriptions, Tools, and Applications (LDTA 2009). Volume 253 of Electronic Notes in Theoretical Computer Science, Elsevier, 2009.
The cost of implementing syntactically distinct Domain Specific Languages (DSLs) can be reduced by homogeneously embedding them in a host language in cooperation with its compiler. Current homogeneous embedding approaches either restrict the embedding of multiple DSLs in order to provide safety guarantees, or allow multiple DSLs to be embedded but force the user to deal with the interoperability burden. In this paper we present the m-calculus which allows parameterisable language embeddings to be specified and analysed. By reducing the problem to its core essentials we are able to show how multiple, expressive language embeddings can be defined in a homogeneous embedding context. We further show how variant calculi with safety guarantees can be defined.