Hindley-Milner type inference (source code)

= Hindley-Milner type inference
{c}

Inference of a <principal type> in the <Hindley-Milner type system> uses fresh <type variables> and <type unification> to satisfy the constraints imposed by expressions. A successful result describes every valid monomorphic instance through <type substitution>; generalization at suitable bindings forms a <type scheme> for later instantiation.