Domain Specific Embedded Compilers

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 for 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 HaskellDB, a domain specific embedded compiler that dynamically generates of SQL queries from monad comprehensions, which are then executed on an arbitrary ODBC database server.

dsec.ps
PostScript file
dsec.bib
File

In  2nd USENIX Conference on Domain Specific Languages (DSL'99)

Details

TypeInproceedings
Pages109-122
AddressAustin, Texas
> Publications > Domain Specific Embedded Compilers