Portability | semi-portable (Rank2Types, MPTCs,...) |
---|---|
Stability | experimental |
Maintainer | wren@community.haskell.org |
Safe Haskell | Safe-Infered |
This module defines an implementation of unification variables
using the ST
monad.
- data STVar s t
- data STBinding s a
- runSTBinding :: (forall s. STBinding s a) -> a
Documentation
Unification variables implemented by STRef
s. In addition to
the STRef
for the term itself, we also track the variable's
ID (to support visited-sets).
A monad for handling STVar
bindings.
Monad (STBinding s) | |
Functor (STBinding s) | |
Applicative (STBinding s) | |
Unifiable t => BindingMonad (STVar s t) t (STBinding s) |
runSTBinding :: (forall s. STBinding s a) -> aSource