packages feed

monadic-recursion-schemes 0.1.7.0 → 0.1.8.0

raw patch · 3 files changed

+18/−5 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Data.Functor.Foldable.Monadic: cascadeM :: (Monad m, Corecursive (f a), Traversable (Base (f a)), Traversable f, Recursive (f a)) => (a -> m a) -> f a -> m (f a)

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ # Revision history for monadic-recursion-schemes +## 0.1.8.0 -- 2020-05-16++* add cascadeM (a.k.a. supermap).+ ## 0.1.7.0 -- 2020-05-15  * refine mutuM and comutuM. These have correct type signature.
monadic-recursion-schemes.cabal view
@@ -4,7 +4,7 @@ -- http://haskell.org/cabal/users-guide/  name:                monadic-recursion-schemes-version:             0.1.7.0+version:             0.1.8.0 synopsis:            Recursion Schemes for Monadic version. description:         Yet another recursion schemes for monadic style, depends on recursion-schemes. homepage:            https://github.com/cutsea110/monadic-recursion-schemes.git@@ -20,12 +20,13 @@ library   exposed-modules:     Data.Functor.Foldable.Monadic   -- other-modules:-  other-extensions:    GADTs,-                       LambdaCase,-                       DeriveFunctor,+  other-extensions:    AllowAmbiguousTypes,                        DeriveFoldable,+                       DeriveFunctor,                        DeriveTraversable,-                       AllowAmbiguousTypes,+                       FlexibleContexts,+                       GADTs,+                       LambdaCase,                        ScopedTypeVariables   build-depends:       base ^>=4.12.0.0,                        containers >=0.6,
src/Data/Functor/Foldable/Monadic.hs view
@@ -22,6 +22,7 @@   , mutuM, comutuM   , mutuM', comutuM'   , preproM, postproM+  , cascadeM   ) where  import           Control.Comonad              (Comonad (..))@@ -260,3 +261,10 @@ postproM h psi = u   where u = return . embed <=< mapM f <=< psi         f = anaM (h . project) <=< u++-- | cascade (a.k.a supermap)+cascadeM :: (Monad m, Corecursive (f a), Traversable (Base (f a)), Traversable f, Recursive (f a))+         => (a -> m a) -- ^ operator+         -> f a -> m (f a)+cascadeM f = u+  where u = return . embed <=< mapM u <=< mapM (mapM f) . project