15-851 Computation and Deduction
Lecture 17: Constraint-Based Type Inference

We discuss the relationship between extrinsic and intrinsic formulations of parametric polymorphism and discover that the two systems are operationally equivalent only under a so-called value restriction. A corresponding condition has been adopted for ML to guarantee type preservation even under the extension of the language by effects such as mutable references or exceptions.

We then show explicitly how the problem of type inference can be mapped to the problem of solving constraints in a simple logic containing only equality, truth, conjunction, and existential quantification. We call this a unification logic.

[ Home | Schedule | Assignments | Handouts | Software | Overview ]

Frank Pfenning