Copyright | Copyright (c) 2007--2015 wren gayle romano |
---|---|

License | BSD |

Maintainer | wren@community.haskell.org |

Stability | experimental |

Portability | semi-portable (Rank2Types, MPTCs,...) |

Safe Haskell | None |

Language | Haskell98 |

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.

runSTBinding :: (forall s. STBinding s a) -> a Source