Documentation
newtype Point s a Source #
A variable which can be unified; alternately, this can be thought
of as an equivalence class with a distinguished representative.
Instances
Instances details
data Link s a Source #
The internal data structure for a Point
, which either records
the representative element of an equivalence class, or a link to
the Point
that actually stores the representative type.
repr :: Point s a -> ST s (Point s a) Source #
Flatten any chains of links, returning a Point
which points directly to the canonical representation.
union :: Point s a -> Point s a -> ST s () Source #
Unify two equivalence classes, so that they share
a canonical element. Keeps the descriptor of point2.