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 +5/−0
- free.cabal +1/−1
- src/Control/Monad/Trans/Free/Church.hs +12/−3
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