Nowadays, many dynamic languages come with (some sort of) type inference in order to detect type errors statically. Often, in order not to unnecessarily reject programs which are allowed under a dynamic type discipline, their type inference algorithms are based on non-standard (i.e., not unification based) type inference algorithms. Instead, they employ aggressive forwards and backwards propagation of subtype constraints. Although such analyses are effective in locating actual programming errors, the errors they report are often extremely difficult for programmers to follow and convince themselves of their validity. We have observed this phenomenon in the context of Erlang: for a number of years now its implementation comes with ...
We propose a testing framework for validating static typing procedures in compilers. Our core compon...
In this work, we present an unexpected connection between gradual typing and type error debugging. N...
We present a new way to generate type-error messages in a poly-morphic, implicitly, and strongly typ...
Nowadays, many dynamic languages come with (some sort of) type inference in order to detect type er...
Flaws in computer software are a fact of life, both in small and large-scale applications. Compile...
Erlang is a programming language which brings together the features of functional programming and ac...
Producing precise and helpful error messages for type inference is\ud still a challenge for implemen...
Dependently typed programming languages provide a powerful tool for proving code correct. However, t...
Dynamic typing is a program analysis targeted at removing runtime tagging and untagging operations i...
Strong static type systems help programmers eliminate many errors without much burden of supplying t...
We describe and document the techniques used in TYPER, a fully automatic type annotator for ERLANG p...
Although type systems do detect type errors in programs, they often produce uninformative error mes...
. Traditional type inference and type checking algorithms work well with correctly typed programs, b...
We present a new way to generate type-error messages in a polymorphic, implicitly, and strongly type...
As programmers, programming in typed languages increases our confidence in the correctness of our pr...
We propose a testing framework for validating static typing procedures in compilers. Our core compon...
In this work, we present an unexpected connection between gradual typing and type error debugging. N...
We present a new way to generate type-error messages in a poly-morphic, implicitly, and strongly typ...
Nowadays, many dynamic languages come with (some sort of) type inference in order to detect type er...
Flaws in computer software are a fact of life, both in small and large-scale applications. Compile...
Erlang is a programming language which brings together the features of functional programming and ac...
Producing precise and helpful error messages for type inference is\ud still a challenge for implemen...
Dependently typed programming languages provide a powerful tool for proving code correct. However, t...
Dynamic typing is a program analysis targeted at removing runtime tagging and untagging operations i...
Strong static type systems help programmers eliminate many errors without much burden of supplying t...
We describe and document the techniques used in TYPER, a fully automatic type annotator for ERLANG p...
Although type systems do detect type errors in programs, they often produce uninformative error mes...
. Traditional type inference and type checking algorithms work well with correctly typed programs, b...
We present a new way to generate type-error messages in a polymorphic, implicitly, and strongly type...
As programmers, programming in typed languages increases our confidence in the correctness of our pr...
We propose a testing framework for validating static typing procedures in compilers. Our core compon...
In this work, we present an unexpected connection between gradual typing and type error debugging. N...
We present a new way to generate type-error messages in a poly-morphic, implicitly, and strongly typ...