semigroupoids 1.2.0 → 1.2.1
raw patch · 3 files changed
+12/−1 lines, 3 files
Files
- Data/Functor/Alt.hs +4/−0
- Data/Functor/Bind.hs +7/−0
- semigroupoids.cabal +1/−1
Data/Functor/Alt.hs view
@@ -36,6 +36,7 @@ import qualified Data.IntMap as IntMap import Data.IntMap (IntMap) import Data.Semigroup+import Data.List.NonEmpty (NonEmpty(..)) import Data.Sequence (Seq) import qualified Data.Map as Map import Data.Map (Map)@@ -120,6 +121,9 @@ instance Alt Seq where (<!>) = mappend++instance Alt NonEmpty where+ (a :| as) <!> ~(b :| bs) = a :| (as ++ b : bs) instance Alternative f => Alt (WrappedApplicative f) where WrapApplicative a <!> WrapApplicative b = WrapApplicative (a <|> b)
Data/Functor/Bind.hs view
@@ -63,6 +63,7 @@ import Data.IntMap (IntMap) import qualified Data.Map as Map import Data.Map (Map)+import Data.List.NonEmpty import Data.Semigroup hiding (Product) import Data.Sequence (Seq) import Data.Tree (Tree)@@ -104,6 +105,9 @@ (m, a) <. (n, _) = (m <> n, a) (m, _) .> (n, b) = (m <> n, b) +instance Apply NonEmpty where+ (<.>) = ap+ instance Apply (Either a) where Left a <.> _ = Left a Right _ <.> Left a = Left a@@ -363,6 +367,9 @@ f >>- g = \e -> g (f e) e instance Bind [] where+ (>>-) = (>>=)++instance Bind NonEmpty where (>>-) = (>>=) instance Bind IO where
semigroupoids.cabal view
@@ -1,6 +1,6 @@ name: semigroupoids category: Control, Comonads-version: 1.2.0+version: 1.2.1 license: BSD3 cabal-version: >= 1.6 license-file: LICENSE