Static type systems are a powerful tool for reasoning about the safety of programs. Global type inference eliminates one of the prime complaints against static types, that the annotation burden is too high. However, this introduces its own problems as the type checker must now make assumptions about what the programmer intended to do. A single incorrect assumption can lead the type checker to erroneously blame an expression far from the actual error the programmer made, which can be particularly confusing for newcomers who have not yet constructed a mental model for how the type checker works.In this dissertation we present a pair of complementary techniques to localize and explain type errors, with an emphasis on the errors encountered by ...
Automatic type inference is a popular feature of functional programming languages. If a program cann...
We propose a testing framework for validating static typing procedures in compilers. Our core compon...
Nowadays, many dynamic languages come with (some sort of) type inference in order to detect type er...
Strong static type systems help programmers eliminate many errors without much burden of supplying t...
We introduce a general way to locate programmer mistakes that are detected by static anal-yses such ...
Typically a type error is reported when unication fails, even though the programmer 's actual e...
Flaws in computer software are a fact of life, both in small and large-scale applications. Compile...
In modern statically typed functional languages, type inference is used to determine the type of eac...
Content replaced at author's request on 2013-12-17.We introduce a general way to locate program erro...
Abstract. In modern statically typed functional languages, type inference is used to determine the t...
In this work, we present an unexpected connection between gradual typing and type error debugging. N...
Model transformation is seen as a promising approach to automate software development and verificati...
use of program operations. They can be classified as either static or dynamic depending on when they...
This chapter presents a static diagnosis tool that locates type errors in untyped CLP programs witho...
Type inference engines often give terrible error messages, and the more sophisticated the type syste...
Automatic type inference is a popular feature of functional programming languages. If a program cann...
We propose a testing framework for validating static typing procedures in compilers. Our core compon...
Nowadays, many dynamic languages come with (some sort of) type inference in order to detect type er...
Strong static type systems help programmers eliminate many errors without much burden of supplying t...
We introduce a general way to locate programmer mistakes that are detected by static anal-yses such ...
Typically a type error is reported when unication fails, even though the programmer 's actual e...
Flaws in computer software are a fact of life, both in small and large-scale applications. Compile...
In modern statically typed functional languages, type inference is used to determine the type of eac...
Content replaced at author's request on 2013-12-17.We introduce a general way to locate program erro...
Abstract. In modern statically typed functional languages, type inference is used to determine the t...
In this work, we present an unexpected connection between gradual typing and type error debugging. N...
Model transformation is seen as a promising approach to automate software development and verificati...
use of program operations. They can be classified as either static or dynamic depending on when they...
This chapter presents a static diagnosis tool that locates type errors in untyped CLP programs witho...
Type inference engines often give terrible error messages, and the more sophisticated the type syste...
Automatic type inference is a popular feature of functional programming languages. If a program cann...
We propose a testing framework for validating static typing procedures in compilers. Our core compon...
Nowadays, many dynamic languages come with (some sort of) type inference in order to detect type er...