Changelog for unification-fd-0.11.0
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)
<https://ghc.haskell.org/trac/ghc/ticket/13081>
- HOTFIX: added logict < 0.7.1 upper bound to avoid breakage.
Will add a proper fix in the future. For more details see,
<https://github.com/Bodigrim/logict/issues/20#issuecomment-774528439>
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.