monadic-recursion-schemes 0.1.8.0 → 0.1.9.0
raw patch · 3 files changed
+14/−3 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Data.Functor.Foldable.Monadic: iterateM :: (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.9.0 -- 2020-05-16++* add iterateM (as dual of cascadeM)+ ## 0.1.8.0 -- 2020-05-16 * add cascadeM (a.k.a. supermap).
monadic-recursion-schemes.cabal view
@@ -4,7 +4,7 @@ -- http://haskell.org/cabal/users-guide/ name: monadic-recursion-schemes-version: 0.1.8.0+version: 0.1.9.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
src/Data/Functor/Foldable/Monadic.hs view
@@ -22,7 +22,7 @@ , mutuM, comutuM , mutuM', comutuM' , preproM, postproM- , cascadeM+ , cascadeM, iterateM ) where import Control.Comonad (Comonad (..))@@ -264,7 +264,14 @@ -- | cascade (a.k.a supermap) cascadeM :: (Monad m, Corecursive (f a), Traversable (Base (f a)), Traversable f, Recursive (f a))- => (a -> m a) -- ^ operator+ => (a -> m a) -- ^ pre-operator -> f a -> m (f a) cascadeM f = u where u = return . embed <=< mapM u <=< mapM (mapM f) . project++-- | iterate+iterateM :: (Monad m, Corecursive (f a), Traversable (Base (f a)), Traversable f, Recursive (f a))+ => (a -> m a) -- ^ post-operator+ -> f a -> m (f a)+iterateM f = u+ where u = return . embed <=< mapM (mapM f) <=< mapM u . project