0.11.0 (2021-02-23): - Made Unifiable derivable whenever we have a Generic1 instance. (h/t/ Roman Cheplyaka) - Removed the Alternative/MonadPlus instances for UTerm, because they're unlawful. - Added NOINLINE for Fix's Eq and Ord instances, to avoid an inliner bug affecting GHC 8.0.1 and 8.0.2 (fixed in 8.0.3) - HOTFIX: added logict < 0.7.1 upper bound to avoid breakage. Will add a proper fix in the future. For more details see, 0.10.0.1 (2015-05-30): - Moved VERSION to CHANGELOG 0.10.0 (2015-03-29): - Cleaned up things to compile cleanly for GHC 7.10 - Cleaned up deprecation warnings re Control.Monad.Error - Control.Monad.EitherK: liberalized Monad restriction to Applicative where possible. - Control.Monad.MaybeK: liberalized Monad restriction to Applicative where possible. - Control.Unification.Types: Completely revamped the old UnificationFailure data type as the new UFailure data type and Fallible type class. 0.9.0 (2014-06-03): - Control.Unification.Types: changed the fundeps on BindingMonad and RankedBindingMonad so that things compile under GHC 7.8.2 - Data.Functor.Fixedpoint: eta-expanded RULES to avoid GHC >= 7.8 warnings about them potentially not firing due to (.) being inlined first. 0.8.1 (2014-05-27): - Control.Unification.Types: added Functor, Foldable, and Traversable instances for UnificationFailure. (h/t Graham Rogers) 0.8.0 (2012-07-11): - Control.Unification.Types: Changed the type of Unifiable.zipMatch 0.7.0 (2012-03-19): - 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.