Morten Rhiger BRICS, University of Aarhus
Recent work on embedding object languages into Haskell use ``phantom types'' (i.e., parameterized types whose parameter does not occur on the right-hand side of the type definition) to ensure that the embedded object-language terms are simply typed. But is it a safe assumption that only simply-typed terms can be represented in Haskell using phantom types? And conversely, can all simply-typed terms be represented in Haskell under the restrictions imposed by phantom types? In this article we investigate the conditions under which these assumptions are true: We show that these questions can be answered affirmatively for an idealized Haskell-like language and discuss to which extent Haskell can be used as a meta-language
This seems to be the same paper published in TOPLAS Volume 25, Issue 3 (May 2003).
The paper explains how phantom types make it possible to embed not only the (abstract) syntax but
also the type system of a monomorphic object language into a statically typed meta-language such as Haskell. The paper discusses the soundness and completeness of such embeddings.
Posted to functional by Ehud Lamm on 5/18/03; 5:00:40 AM