Local type inference

Benjamin C. Pierce, David N. Turner. Local type inference. ACM Transactions on Programming Languages and Systems, 22(1):1-44, 2000. [doi]

Abstract

We study two partial type inference methods for a language combining subtyping and impredicative polymorphism. Both methods are local in the sense that missing annotations are recovered using only information from adjacent nodes in the syntax tree, without long-distance constraints such as unification variables. One method infers type arguments in polymorphic applications using a local constraint solver. The other infers annotations on bound variables in function abstractions by propagating type constraints downward from enclosing application nodes. We motivate our design choices by a statistical analysis of the uses of type inference in a sizable body of existing ML code.

Predecessors

The following are older variants of this publication: