Abstract
Domain-specic languages (DSLs) have the potential both
to reduce the eort of programming, and to result in programs that are
easier to understand and maintain. For various good reasons, researchers
have proposed to embed DSLs (then called EDSLs) into a general purpose
host language. An important disadvantage of such an embedding is
that it is very hard to make type error diagnosis domain-aware, because
inconsistencies are by default explained in terms of the host language. In
earlier work we have developed a method to make type error diagnosis
domain-specic, and we have applied the method to Haskell 98.
The practice of Haskell programming shows that currently applications
and libraries employ type system features well beyond those oered by
Haskell 98. Here lie both a practical and fundamental challenge that
the project aims to address. It is practical because only after meeting
this challenge, can our ideas be employed in everyday programming; it is
fundamental because an essential understanding of Haskell's type system
features, such as GADTs and type families, is necessary to achieve the
necessary control over the type system that can then be passed on to the
EDSL developer.
Our work will enable EDSL developers to safely, transparently and noninvasively
provide domain specic type error diagnosis. It is transparent
because the designer of the rules does not need to have intimate knowledge
of the internals of the compiler, safe because it cannot be used to
circumvent the strong type system, and non-invasive since the EDSL
code itself need not be changed.
The work in this project will be undertaken by a PhD student under the
supervision of the rst author of this paper, in collaboration with Atze
Dijkstra and others at Utrecht University.
to reduce the eort of programming, and to result in programs that are
easier to understand and maintain. For various good reasons, researchers
have proposed to embed DSLs (then called EDSLs) into a general purpose
host language. An important disadvantage of such an embedding is
that it is very hard to make type error diagnosis domain-aware, because
inconsistencies are by default explained in terms of the host language. In
earlier work we have developed a method to make type error diagnosis
domain-specic, and we have applied the method to Haskell 98.
The practice of Haskell programming shows that currently applications
and libraries employ type system features well beyond those oered by
Haskell 98. Here lie both a practical and fundamental challenge that
the project aims to address. It is practical because only after meeting
this challenge, can our ideas be employed in everyday programming; it is
fundamental because an essential understanding of Haskell's type system
features, such as GADTs and type families, is necessary to achieve the
necessary control over the type system that can then be passed on to the
EDSL developer.
Our work will enable EDSL developers to safely, transparently and noninvasively
provide domain specic type error diagnosis. It is transparent
because the designer of the rules does not need to have intimate knowledge
of the internals of the compiler, safe because it cannot be used to
circumvent the strong type system, and non-invasive since the EDSL
code itself need not be changed.
The work in this project will be undertaken by a PhD student under the
supervision of the rst author of this paper, in collaboration with Atze
Dijkstra and others at Utrecht University.
Original language | English |
---|---|
Place of Publication | Utrecht |
Publisher | UU BETA ICS Departement Informatica |
Number of pages | 14 |
ISBN (Print) | 0924-3275 |
Publication status | Published - 2014 |
Publication series
Name | Technical Report Series |
---|---|
Publisher | UU Beta ICS Departement Informatica |
No. | UU-CS-2014-019 |
ISSN (Print) | 0924-3275 |
Keywords
- type systems
- type error diagnosis
- embedded domain specific languages
- Haskell