Domain specific embedded compilers

  • Authors:
  • Daan Leijen;Erik Meijer

  • Affiliations:
  • University of Utrecht, Department of Computer Science, POBox 80.089, 3508 TB Utrecht, The Netherlands;University of Utrecht, Department of Computer Science, POBox 80.089, 3508 TB Utrecht, The Netherlands

  • Venue:
  • Proceedings of the 2nd conference on Domain-specific languages
  • Year:
  • 1999

Quantified Score

Hi-index 0.02

Visualization

Abstract

Domain-specific embedded languages (DSELs) expressed in higher-order, typed (HOT) languages provide a composable framework for domain-specific abstractions. Such a framework is of greater utility than a collection of stand-alone domain-specific languages. Usually, embedded domain specific languages are build on top of a set of domain specific primitive functions that are ultimately implemented using some form of foreign function call. We sketch a general design pattern/or embedding client-server style services into Haskell using a domain specific embedded compiler for the server's source language. In particular we apply this idea to implement Haskell/DB, a domain specific embdedded compiler that dynamically generates of SQL queries from monad comprehensions, which are then executed on an arbitrary ODBC database server.