Compiling Embedded Languages

  • Authors:
  • Conal Elliott;Sigbjorn Finne;Oege de Moor

  • Affiliations:
  • -;-;-

  • Venue:
  • SAIG '00 Proceedings of the International Workshop on Semantics, Applications, and Implementation of Program Generation
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.