packages feed

free 5.1.8 → 5.1.9

raw patch · 3 files changed

+18/−4 lines, 3 filesdep ~template-haskellPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: template-haskell

API changes (from Hackage documentation)

- Control.Monad.Trans.Free.Church: instance (Data.Functor.Classes.Eq1 (Control.Monad.Trans.Free.Church.FT f m), GHC.Classes.Eq a) => GHC.Classes.Eq (Control.Monad.Trans.Free.Church.FT f m a)
- Control.Monad.Trans.Free.Church: instance (Data.Functor.Classes.Ord1 (Control.Monad.Trans.Free.Church.FT f m), GHC.Classes.Ord a) => GHC.Classes.Ord (Control.Monad.Trans.Free.Church.FT f m a)
+ Control.Monad.Trans.Free.Church: instance (GHC.Base.Functor f, GHC.Base.Monad m, Data.Functor.Classes.Eq1 f, Data.Functor.Classes.Eq1 m, GHC.Classes.Eq a) => GHC.Classes.Eq (Control.Monad.Trans.Free.Church.FT f m a)
+ Control.Monad.Trans.Free.Church: instance (GHC.Base.Functor f, GHC.Base.Monad m, Data.Functor.Classes.Ord1 f, Data.Functor.Classes.Ord1 m, GHC.Classes.Ord a) => GHC.Classes.Ord (Control.Monad.Trans.Free.Church.FT f m a)

Files

CHANGELOG.markdown view
@@ -1,3 +1,8 @@+5.1.9 [2022.06.26]+------------------+* Simplify the `Eq` and `Ord` instances for `FT` to avoid the use of+  overlapping instances.+ 5.1.8 [2022.05.07] ------------------ * Generalize the `Monad` constraint in the type signatures for
free.cabal view
@@ -1,6 +1,6 @@ name:          free category:      Control, Monads-version:       5.1.8+version:       5.1.9 license:       BSD3 cabal-version: 1.18 license-file:  LICENSE
src/Control/Monad/Trans/Free/Church.hs view
@@ -1,5 +1,4 @@ {-# LANGUAGE CPP #-}-{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE RankNTypes #-}@@ -97,10 +96,20 @@   compare1 x y = compare1 (fromFT x) (fromFT y) #endif -instance (Eq1 (FT f m), Eq a) => Eq (FT f m a) where+instance ( Functor f, Monad m, Eq1 f, Eq1 m+# if !(MIN_VERSION_base(4,8,0))+         , Functor m+# endif+         , Eq a+         ) => Eq (FT f m a) where   (==) = eq1 -instance (Ord1 (FT f m), Ord a) => Ord (FT f m a) where+instance ( Functor f, Monad m, Ord1 f, Ord1 m+# if !(MIN_VERSION_base(4,8,0))+         , Functor m+# endif+         , Ord a+         ) => Ord (FT f m a) where   compare = compare1  instance Functor (FT f m) where