Control.Unification

Data types, classes, etc

Unification terms

data UTerm t v

freeze

unfreeze

Errors

class Fallible t v a

Basic type classes

class Unifiable t

class Variable v

class BindingMonad t v m

Operations on one term

getFreeVars

applyBindings

freshen

Operations on two terms

Symbolic names

(===)

(=~=)

(=:=)

(<:=)

Textual names

equals

equiv

unify

unifyOccurs

subsumes

Operations on many terms

getFreeVarsAll

applyBindingsAll

freshenAll

Helper functions

fullprune

semiprune

occursIn