Copenhagen Programming Language Seminar


Theory and Practice of Domain-Specific Embedded Languages

Morten Rhiger
Department of Innovation, IT University of Copenhagen

Thursday, February 6th, 15:15-16:00
DIKU, Universitetsparken 1, room N037


Embedded languages address the problem of providing implementations for special-purpose (or domain-specific) languages: It has been suggested that instead of implementing a domain-specific object language from scratch, one can embed it into an existing general-purpose host language. The result combines the domain-specific operations of the object language with the domain-independent linguistic features of the host-language. One appealing feature of this approach, and perhaps the most surprising one, is that, in some cases, the host language can describe not only the (abstract) syntax and the semantics of the domain-specific language, but also the its type system. The device that enables this feature has been termed "phantom types."

In this talk we present some theoretical and practical issues of embedded languages in the context of ML and Haskell as host languages. The main ingredients of the talk will be (1) a theoretical result stating to which extent one type system can be embedded into another using phantom types and (2) examples of embedded languages that use phantom types including regular expressions, XSL Transformations, and multi-stage lambda calculi.

Scientific host: Andrzej Filinski. Administrative host: Camilla Jensen. All are welcome.
The Copenhagen Programming Language Seminar (COPLAS) is a collaboration between DIKU, IT-C and KVL.
To receive information about COPLAS talks by email, send a message to prog-lang-request@mail.it-c.dk with the word 'subscribe' as subject or in the body.

For more information about COPLAS, see http://www.coplas.org