Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- newtype Point s a = Point (STRef s (Link s a))
- writePoint :: Point s a -> Link s a -> ST s ()
- readPoint :: Point s a -> ST s (Link s a)
- data Link s a
- fresh :: a -> ST s (Point s a)
- repr :: Point s a -> ST s (Point s a)
- find :: Point s a -> ST s a
- union :: Point s a -> Point s a -> ST s ()
- equivalent :: Point s a -> Point s a -> ST s Bool
Documentation
A variable which can be unified; alternately, this can be thought of as an equivalence class with a distinguished representative.
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.