Language embeddings that preserve staging and safety

  • Authors:
  • Todd L. Veldhuizen

  • Affiliations:
  • Indiana University, Computer Science Department, Bloomington, IN and Chalmers University of Technology, Göteborg, Sweden

  • Venue:
  • Nordic Journal of Computing
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

We study embeddings of programming languages into one another that preserve what reductions take place at compile-time, i.e., staging. A certain condition -- what we call a 'Turing complete kernel' -- is sufficient for a language to be stage-universal in the sense that any language may be embedded in it while preserving staging. A similar line of reasoning yields the notion of safety-preserving embeddings, and a useful characterization of safety-universality. Languages universal with respect to staging and safety are good candidates for realizing domain-specific embedded languages (DSELs) and 'active libraries' that provide domain-specific optimizations and safety checks.