0.7.0 (2012-xx-xx):
- Control.Unification: changed the type of seenAs to ensure that variables can only be seen as structure.
- Renamed MutTerm to UTerm (and MutVar to UVar)
- Replaced the Variable.eqVar method by plain old Eq.(==)
- Control.Unification: added getFreeVarsAll, applyBindingsAll, freshenAll
- Swapped type argument order for MutTerm, so that it can be a functor etc. Also changed BindingMonad, UnificationFailure, Rank, and RankedBindingMonad for consistency.
0.6.0 (2012-02-17):
- Removed the phantom type argument for Variables.
0.5.0 (2011-07-12):
- Moved UnificationFailure to Control.Unification.Types
- Renamed NonUnifiable to TermMismatch
- Control.Unification: exposed fullprune, semiprune, occursIn
- Control.Unification: added unifyOccurs, subsumes
- Control.Unification: (re)added symbolic names for binary operators
0.4.0 (2011-07-07):
- Removed heterogeneous unification, and rewrote practically everything.
- Added semipruning instead of full pruning.
- Added visited-sets instead of occurs-checks.
- Added weightedness to path compression (a la union--find).
- This is the version emailed for the 2011-07-07 talk at McMaster.
0.3.6 (2011-06-18):
- Forked from the Dyna2 project.