Computing Publications

Publications Home » Errors for the Common Man: Hiding...

Errors for the Common Man: Hiding the unintelligable in Haskell

Matthew Sackman, Susan Eisenbach

Technical Report
September, 2008

If a library designer takes full advantage of Haskell's rich type system and type-level programming capabilities, then the resulting library will frequently inflict huge and unhelpful error messages on the library user. These error messages are typically in terms of the library and do not refer to the call-site of the library by the library user, nor provide any guidance to the user as to how to fix the error.

The increasing appetite for programmable type-level computation makes this a critical issue, as the advantages and capabilities of type-level computation are nullified if useful error messages cannot be returned to the user.

We present a novel technique that neatly side-steps the default error messages and allows the library programmer to control the generation of error messages that are statically returned to the user. Thus with this technique, there is no longer any drawback to using the full power of Haskell's type system.

Language Design
PDF of full publication (131 kilobytes)
(need help viewing PDF files?)
BibTEX file for the publication
Conditions for downloading publications from this site. built & maintained by Ashok Argent-Katwala.