A partial type inference technique should come with a simple and precise specification, so that users predict its behavior and understand the error messages it produces. Local type inference techniques attain this simplicity by inferring missing type information only from the types of adjacent syntax nodes, without using global mechanisms such as unification variables. The paper reports on our experience with programming in a full-featured programming language including higher-order polymorphism, subtyping, parametric datatypes, and local type inference. On the positive side, our experiments on several nontrivial examples confirm previous hopes for the practicality of the type inference method. On the negative side, some proposed extensions...
Advanced type system features, such as GADTs, type classes, and type families, have proven to be inv...
We present a type inference system for Horn clause logic programs, based on a bottom-up abstract int...
AbstractAs a partial solution to the problem of combining static and dynamic typing in a language wi...
How Good is Local Type Inference? A partial type inference technique should come with a simple and p...
A partial type inference technique should come with a simple and precise specification, so that user...
Type inference is a key component of modern statically typed programming languages. It allows progra...
AbstractThe Hindley/Milner discipline for polymorphic type inference in functional programming langu...
We show how type inference for object oriented programming languages with state can be performed wit...
This article is the second part of a two articles series about a calculus with higher-order polymorp...
As a partial solution to the problem of combining static and dynamic typing in a language with param...
Languages with polymorphic type systems are made convenient to use by employing type inference to av...
GADTs have proven to be an invaluable language extension, for ensuring data invariants and program c...
. Traditional type inference and type checking algorithms work well with correctly typed programs, b...
We consider the problems of first-order unification and type inference from a general perspective on...
Subtyping appears in a variety of programming languages, in the form of the "automatic coercion...
Advanced type system features, such as GADTs, type classes, and type families, have proven to be inv...
We present a type inference system for Horn clause logic programs, based on a bottom-up abstract int...
AbstractAs a partial solution to the problem of combining static and dynamic typing in a language wi...
How Good is Local Type Inference? A partial type inference technique should come with a simple and p...
A partial type inference technique should come with a simple and precise specification, so that user...
Type inference is a key component of modern statically typed programming languages. It allows progra...
AbstractThe Hindley/Milner discipline for polymorphic type inference in functional programming langu...
We show how type inference for object oriented programming languages with state can be performed wit...
This article is the second part of a two articles series about a calculus with higher-order polymorp...
As a partial solution to the problem of combining static and dynamic typing in a language with param...
Languages with polymorphic type systems are made convenient to use by employing type inference to av...
GADTs have proven to be an invaluable language extension, for ensuring data invariants and program c...
. Traditional type inference and type checking algorithms work well with correctly typed programs, b...
We consider the problems of first-order unification and type inference from a general perspective on...
Subtyping appears in a variety of programming languages, in the form of the "automatic coercion...
Advanced type system features, such as GADTs, type classes, and type families, have proven to be inv...
We present a type inference system for Horn clause logic programs, based on a bottom-up abstract int...
AbstractAs a partial solution to the problem of combining static and dynamic typing in a language wi...