packages feed

semigroupoids 5.3.6 → 5.3.7

raw patch · 4 files changed

+32/−12 lines, 4 files

Files

CHANGELOG.markdown view
@@ -1,3 +1,25 @@+5.3.7 [2022.01.09]+------------------+* Relax the `Bind` constraints in the following instances to `Functor`:++  ```diff+  -instance (Bind f,    Monad f) => Alt  (MaybeT f)+  -instance (Bind f,    Monad f) => Plus (MaybeT f)+  +instance (Functor f, Monad f) => Alt  (MaybeT f)+  +instance (Functor f, Monad f) => Plus (MaybeT f)++  -instance (Bind f,    Monad f, Semigroup e)           => Alt  (ExceptT e f)+  -instance (Bind f,    Monad f, Semigroup e, Monoid e) => Plus (ExceptT e f)+  +instance (Functor f, Monad f, Semigroup e)           => Alt  (ExceptT e f)+  +instance (Functor f, Monad f, Semigroup e, Monoid e) => Plus (ExceptT e f)++   -- If building with transformers-0.5.* or older+  -instance (Bind f,    Monad f)          => Alt  (ErrorT e f)+  -instance (Bind f,    Monad f, Error e) => Plus (ErrorT e f+  +instance (Functor f, Monad f)          => Alt  (ErrorT e f)+  +instance (Functor f, Monad f, Error e) => Plus (ErrorT e f)+  ```+ 5.3.6 [2021.10.07] ------------------ * Allow building with GHC 9.2.
semigroupoids.cabal view
@@ -1,6 +1,6 @@ name:          semigroupoids category:      Control, Comonads-version:       5.3.6+version:       5.3.7 license:       BSD2 cabal-version: 1.18 license-file:  LICENSE@@ -54,7 +54,7 @@   indicate a subclass relationship that actually exists; dashed edges indicate a   subclass relationship that /should/ exist, but currently doesn't.   .-  <<img/classes.svg Relationships among type classes from this package and others>>+  <<https://raw.githubusercontent.com/ekmett/semigroupoids/master/img/classes.svg Relationships among type classes from this package and others>>   .   Apply, Bind, and Extend (not shown) give rise the Static, Kleisli and Cokleisli semigroupoids respectively.   .@@ -164,10 +164,10 @@    if flag(unordered-containers)     if impl(ghc >= 7.4)-      build-depends: hashable >= 1.2.7.0  && < 1.4,+      build-depends: hashable >= 1.2.7.0  && < 1.5,                      unordered-containers >= 0.2.8.0  && < 0.3     else-      build-depends: hashable >= 1.2.5.0  && < 1.4,+      build-depends: hashable >= 1.2.5.0  && < 1.5,                      unordered-containers >= 0.2.8.0  && < 0.3    hs-source-dirs: src
src/Data/Functor/Alt.hs view
@@ -50,7 +50,6 @@ import qualified Control.Monad.Trans.State.Lazy as Lazy import qualified Control.Monad.Trans.Writer.Lazy as Lazy import Data.Functor.Apply-import Data.Functor.Bind import Data.Functor.Compose import Data.Functor.Identity (Identity (Identity)) import Data.Functor.Product@@ -253,7 +252,7 @@ instance Alt f => Alt (ReaderT e f) where   ReaderT a <!> ReaderT b = ReaderT $ \e -> a e <!> b e -instance (Bind f, Monad f) => Alt (MaybeT f) where+instance (Functor f, Monad f) => Alt (MaybeT f) where   MaybeT a <!> MaybeT b = MaybeT $ do     v <- a     case v of@@ -261,7 +260,7 @@       Just _ -> return v  #if !(MIN_VERSION_transformers(0,6,0))-instance (Bind f, Monad f) => Alt (ErrorT e f) where+instance (Functor f, Monad f) => Alt (ErrorT e f) where   ErrorT m <!> ErrorT n = ErrorT $ do     a <- m     case a of@@ -272,7 +271,7 @@   ListT a <!> ListT b = ListT $ (<!>) <$> a <.> b #endif -instance (Bind f, Monad f, Semigroup e) => Alt (ExceptT e f) where+instance (Functor f, Monad f, Semigroup e) => Alt (ExceptT e f) where   ExceptT m <!> ExceptT n = ExceptT $ do     a <- m     case a of
src/Data/Functor/Plus.hs view
@@ -43,7 +43,6 @@ import Data.Foldable hiding (asum) import Data.Functor.Apply import Data.Functor.Alt-import Data.Functor.Bind import Data.Functor.Compose import Data.Functor.Product import Data.Functor.Reverse@@ -158,18 +157,18 @@ instance Plus f => Plus (ReaderT e f) where   zero = ReaderT $ \_ -> zero -instance (Bind f, Monad f) => Plus (MaybeT f) where+instance (Functor f, Monad f) => Plus (MaybeT f) where   zero = MaybeT $ return zero  #if !(MIN_VERSION_transformers(0,6,0))-instance (Bind f, Monad f, Error e) => Plus (ErrorT e f) where+instance (Functor f, Monad f, Error e) => Plus (ErrorT e f) where   zero = ErrorT $ return $ Left noMsg  instance (Apply f, Applicative f) => Plus (ListT f) where   zero = ListT $ pure [] #endif -instance (Bind f, Monad f, Semigroup e, Monoid e) => Plus (ExceptT e f) where+instance (Functor f, Monad f, Semigroup e, Monoid e) => Plus (ExceptT e f) where   zero = ExceptT $ return $ Left mempty  instance Plus f => Plus (Strict.StateT e f) where