Portability | semi-portable (Rank2Types, MPTCs,...) |
---|---|
Stability | experimental |
Maintainer | [email protected] |
Safe Haskell | None |
Control.Unification.STVar
Description
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.
Instances
Unifiable t => BindingMonad t (STVar s t) (STBinding s) | |
Monad (STBinding s) | |
Functor (STBinding s) | |
Applicative (STBinding s) |
runSTBinding :: (forall s. STBinding s a) -> aSource