@inproceedings{37502b61eff347a6b659b0de9dfe55d6,
title = "Improving type error diagnosis",
abstract = "We present a number of methods for providing improved type error reports in the Haskell and Chameleon programming languages. We build upon our previous work [19] where we first introduced the idea of discovering type errors by translating the typing problem into a constraint problem and looking for minimal unsatisfiable subsets of constraints. This allowed us to find precise sets of program locations which are in conflict with each other. Here we extend this approach by extracting additional useful information from these minimal unsatisfiable sets. This allows us to report errors as conflicts amongst a number of possible, candidate types. The advantage of our approach is that it offers implementors the flexibility to employ heuristics to select where, amongst all the locations involved, an error should be reported. In addition, we present methods for providing improved subsumption and ambiguity error reporting.",
keywords = "Constraints, Hindley/Milner, Overloading, Type classes, Type debugging, Type inference",
author = "Stuckey, {Peter J.} and Martin Sulzmann and Jeremy Wazny",
year = "2004",
month = dec,
day = "1",
language = "English",
isbn = "1581138504",
series = "Proceedings of the ACM SIGPLAN 2004 Haskell Workshop, Haskell'04",
pages = "80--91",
booktitle = "Proceedings of the ACM SIGPLAN 2004 Haskell Workshop, Haskell'04",
note = "Proceedings of the ACM SIGPLAN 2004 Haskell Workshop, Haskell'04 ; Conference date: 22-09-2004 Through 22-09-2004",
}