#### inferno

A library for constraint-based Hindley-Milner type inference

1024">

Legend:

Library

Module

Module type

Parameter

Class

Class type

Library

Module

Module type

Parameter

Class

Class type

Library inferno

A unifier maintains a graph whose vertices are equivalence classes of variables. With each equivalence class, a piece of information of type `data`

is attached.

The type `'a structure`

describes the information that is attached with each class. It is parameterized over a type `'a`

of children. In the definition of the type `data`

, `'a`

is instantiated with `variable`

.

By definition, `data`

is a synonym for `variable structure`

. So, the data attached with an equivalence class of variables is a structure whose children are variables.