monad-products 4.0.0.1 → 4.0.1
raw patch · 3 files changed
+9/−5 lines, 3 files
Files
- CHANGELOG.md +4/−0
- Control/Monad/Product.hs +3/−3
- monad-products.cabal +2/−2
CHANGELOG.md view
@@ -1,3 +1,7 @@+4.0.1+-----+* `semigroupoids` 5 compatibility+ 4.0 --- * `semigroupoids` 4 compatibility
Control/Monad/Product.hs view
@@ -8,7 +8,7 @@ -- Stability : provisional -- Portability : portable ----- Monad Products +-- Monad Products ---------------------------------------------------------------------------- module Control.Monad.Product@@ -21,7 +21,7 @@ import Control.Monad -- | disjoint 'Graph' union as a 'Monad' product-newtype Product g h a = Product { runProduct :: (g a, h a) } +newtype Product g h a = Product { runProduct :: (g a, h a) } instance (Functor g, Functor h) => Functor (Product g h) where fmap f (Product (g, h)) = Product (fmap f g, fmap f h)@@ -40,7 +40,7 @@ instance (Bind g, Bind h) => Bind (Product g h) where Product (g, h) >>- k = Product (g >>- fst . runProduct . k, h >>- snd . runProduct . k)- + instance (Monad g, Monad h) => Monad (Product g h) where return a = Product (return a, return a) Product (g, h) >>= k = Product (g >>= fst . runProduct . k, h >>= snd . runProduct . k)
monad-products.cabal view
@@ -1,6 +1,6 @@ name: monad-products category: Control, Monads-version: 4.0.0.1+version: 4.0.1 license: BSD3 cabal-version: >= 1.6 license-file: LICENSE@@ -22,7 +22,7 @@ library build-depends: base >= 4 && < 5,- semigroupoids >= 4 && < 5+ semigroupoids >= 4 && < 6 exposed-modules: Control.Monad.Product