2001
DOI: 10.1145/507669.507659
|View full text |Cite
|
Sign up to set email alerts
|

Compositional explanation of types and algorithmic debugging of type errors

Abstract: The type systems of most typed functional programming languages are based on the Hindley-Milner type system. A practical problem with these type systems is that it is often hard to understand why a program is not type correct or a function does not have the intended type. We suggest that at the core of this problem is the difficulty of explaining why a given expression has a certain type. The type system is not defined compositionally. We propose to explain types using a variant of the Hindley-Milner type syst… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
2
0

Year Published

2013
2013
2022
2022

Publication Types

Select...
5
1

Relationship

0
6

Authors

Journals

citations
Cited by 10 publications
(2 citation statements)
references
References 14 publications
0
2
0
Order By: Relevance
“…Bernstein and Stark [3] describe this idea of interactive debugging, although they suggested the user performing the change by hand in the code. Chitil [5] describes a type-checker that features debugging sessions, during which the user is asked a sequence of questions of the form: "Is the intended type of expression foo an instance of the type bla? ", to which the programmer answers by either "yes" or "no".…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Bernstein and Stark [3] describe this idea of interactive debugging, although they suggested the user performing the change by hand in the code. Chitil [5] describes a type-checker that features debugging sessions, during which the user is asked a sequence of questions of the form: "Is the intended type of expression foo an instance of the type bla? ", to which the programmer answers by either "yes" or "no".…”
Section: Related Workmentioning
confidence: 99%
“…Interactive type-debugging sessions have been proposed as a solution to verbosity (e.g. [5]), however they can be very time consuming for the programmer. Another proposed approach is the extraction of minimal error slices [7].…”
Section: Introductionmentioning
confidence: 99%