Domain-specic languages (DSLs) have the potential bothto reduce the eort of programming, and to result in programs that areeasier to understand and maintain. For various good reasons, researchershave proposed to embed DSLs (then called EDSLs) into a general purposehost language. An important disadvantage of such an embedding isthat it is very hard to make type error diagnosis domain-aware, becauseinconsistencies are by default explained in terms of the host language. Inearlier work we have developed a method to make type error diagnosisdomain-specic, and we have applied the method to Haskell 98.The practice of Haskell programming shows that currently applicationsand libraries employ type system features well beyond those oered byHaskell 98. Here lie both a practical and fundamental challenge thatthe project aims to address. It is practical because only after meetingthis challenge, can our ideas be employed in everyday programming; it isfundamental because an essential understanding of Haskell's type systemfeatures, such as GADTs and type families, is necessary to achieve thenecessary control over the type system that can then be passed on to theEDSL developer.Our work will enable EDSL developers to safely, transparently and noninvasivelyprovide domain specic type error diagnosis. It is transparentbecause the designer of the rules does not need to have intimate knowledgeof the internals of the compiler, safe because it cannot be used tocircumvent the strong type system, and non-invasive since the EDSLcode itself need not be changed.The work in this project will be undertaken by a PhD student under thesupervision of the rst author of this paper, in collaboration with AtzeDijkstra and others at Utrecht University.
|Name||Technical Report Series|
- type systems
- type error diagnosis
- embedded domain specific languages