Copyright | Copyright (c) 2007--2015 wren gayle romano |
---|---|
License | BSD |
Maintainer | wren@community.haskell.org |
Stability | highly experimental |
Portability | semi-portable (Rank2Types, MPTCs,...) |
Safe Haskell | None |
Language | Haskell98 |
A ranked variant of Control.Unification.STVar.
Synopsis
- data STRVar s t
- data STRBinding s a
- runSTRBinding :: (forall s. STRBinding s a) -> a
Documentation
A ranked unification variable implemented by STRef
s. In
addition to the STRef
for the term itself, we also track the
variable's ID (to support visited-sets) and rank (to support
weighted path compression).
Instances
Unifiable t => RankedBindingMonad t (STRVar s t) (STRBinding s) Source # | |
Defined in Control.Unification.Ranked.STVar lookupRankVar :: STRVar s t -> STRBinding s (Rank t (STRVar s t)) Source # incrementRank :: STRVar s t -> STRBinding s () Source # incrementBindVar :: STRVar s t -> UTerm t (STRVar s t) -> STRBinding s () Source # | |
Unifiable t => BindingMonad t (STRVar s t) (STRBinding s) Source # | |
Defined in Control.Unification.Ranked.STVar | |
Eq (STRVar s t) Source # | |
Show (STRVar s t) Source # | |
Variable (STRVar s t) Source # | |
data STRBinding s a Source #
A monad for handling STRVar
bindings.
Instances
runSTRBinding :: (forall s. STRBinding s a) -> a Source #