inferno

A library for constraint-based Hindley-Milner type inference
Library inferno
Parameter #3 Inferno . Decoder . Make . O
type tyvar

A representation of decoded type variables.

type ty

A representation of decoded types.

val inject : Signatures.id -> tyvar

inject provides an injection of unique integer identifiers into decoded type variables.

val variable : tyvar -> ty

variable v is a representation of the type variable v as a decoded type.

val structure : ty S.structure -> ty

structure s turns s, a structure whose children are decoded types, into a decoded type.

val mu : tyvar -> ty -> ty

If v is a type variable and t is a decoded type, then mu v t is a representation of the recursive type mu v.t. The function mu is used only by the cyclic decoder.