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.

- 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).

Unifiable t => RankedBindingMonad t (STRVar s t) (STRBinding s) Source | |

Unifiable t => BindingMonad t (STRVar s t) (STRBinding s) Source | |

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.

Unifiable t => RankedBindingMonad t (STRVar s t) (STRBinding s) Source | |

Unifiable t => BindingMonad t (STRVar s t) (STRBinding s) Source | |

Monad (STRBinding s) Source | |

Functor (STRBinding s) Source | |

Applicative (STRBinding s) Source |

runSTRBinding :: (forall s. STRBinding s a) -> a Source