Publications Home » Errors for the Common Man: Hiding...
Matthew Sackman, Susan Eisenbach
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.
pubs.doc.ic.ac.uk: built & maintained by Ashok Argent-Katwala.