Proceedings Article10.1145/1017472.1017486
Improving type error diagnosis
Peter J. Stuckey,Martin Sulzmann,Jeremy Wazny +2 more
- 22 Sep 2004
- pp 80-91
51
TL;DR: This work builds upon the previous work where the idea of discovering type errors by translating the typing problem into a constraint problem and looking for minimal unsatisfiable subsets of constraints was introduced, and presents methods for providing improved subsumption and ambiguity error reporting.
read more
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.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
•Journal Article
Operational semantics and confluence of constraint propagation Rules
TL;DR: In this paper, a sufficient and necessary condition for confluence of terminating simplification rules was given inspired by results about conditional term rewriting systems, and a more refined operational semantics for constraint handling rules was presented.
126
Heuristics for type error discovery and recovery
Jurriaan Hage,Bastiaan Heeren +1 more
- 04 Sep 2006
TL;DR: This work forms type inference as a constraint problem, and analyzes the collected constraints to improve the error messages and, as a result, programming efficiency.
Constraint-Free type error slicing
Thomas Schilling
- 16 May 2011
TL;DR: This work shows how to produce useful type error slices with an unmodified type checker and implements this technique on top of the Glasgow Haskell Compiler and reports on the experiences.
39
Guided Type Debugging
Sheng Chen,Martin Erwig +1 more
- 04 Jun 2014
TL;DR: In this paper, the authors present a new approach to quickly and reliably remove type errors from functional programs by generating type-change suggestions that satisfy type specifications that are elicited from programmers during the debugging process.
•Journal Article
Finding Minimum Type Error Sources.
TL;DR: In this paper, the search for minimum error sources is reduced to an optimization problem that is formulated in terms of weighted maximum satisfiability modulo theories (MaxSMT), and the reduction to weighted MaxSMT allows to build on SMT solvers to support rich type systems and at the same time abstract from the concrete criterion that is used for ranking the error sources.
22
References
Finding the source of type errors
Mitchell Wand
- 01 Jan 1986
TL;DR: An algorithm is described which appears to be quite helpful in isolating and explaining the source of type errors by keeping track of the reasons the type-checker makes deductions about the types of variables.
152
Operational Semantics and Confluence of Constraint Propagation Rules
Slim Abdennadher
- 29 Oct 1997
TL;DR: This paper presents for the first time an operational semantics for CHR that avoids the termination problem with propagation rules based on the more refined operational semantics.
143
Type error slicing in implicitly typed higher-order languages
Christian Haack,Joseph Brian Wells +1 more
- 01 Mar 2004
TL;DR: This work presents a new approach that identifies the location of a type error as a set of program points (a slice) all of which are necessary for the type error.
•Journal Article
Operational semantics and confluence of constraint propagation Rules
TL;DR: In this paper, a sufficient and necessary condition for confluence of terminating simplification rules was given inspired by results about conditional term rewriting systems, and a more refined operational semantics for constraint handling rules was presented.
126
Compositional explanation of types and algorithmic debugging of type errors
Olaf Chitil
- 01 Oct 2001
TL;DR: This work proposes to explain types using a variant of the Hindley-Milner type system that defines a compositional type explanation graph of principaltyping, and describes how the programmer understands types by interactive navigation through the explanation graph.
Related Papers (5)
Peter J. Stuckey,Martin Sulzmann,Jeremy Wazny +2 more
- 28 Aug 2003
Christian Haack,Joseph Brian Wells +1 more
- 01 Mar 2004
Mitchell Wand
- 01 Jan 1986
Luis Damas,Robin Milner +1 more
- 25 Jan 1982