package inferno

  1. Overview
  2. Docs
type id = int

Every equivalence class (of unification variables) carries a unique identifier. This is used for several purposes, including constructing dictionaries (hash tables) whose keys are equivalence classes and mapping equivalence classes to decoded type variables. One must be aware that these identifiers are stable only while the unifier is inactive. So, a hash table whose keys are equivalence should not persist across a call to unify.

module type SSTRUCTURE = sig ... end
module type USTRUCTURE = sig ... end
module type OCSTRUCTURE = sig ... end
module type OSTRUCTURE = sig ... end
module type GSTRUCTURE = sig ... end
module type STRUCTURE_LEAF = sig ... end
module type HSTRUCTURE = sig ... end
module type MUNIFIER = sig ... end
module type GUNIFIER = sig ... end
module type UNIFIER = sig ... end
module type OCCURS_CHECK = sig ... end
module type OUTPUT = sig ... end
module type DECODER = sig ... end
module type TEVAR = sig ... end