packages feed

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