on master help sign in
Add example to express foldrM in terms of foldr
30c5a56Harendra Kumar
core/src/Streamly/Internal/Data/Stream/Type.hs+4
unifiedsplit
@@ -572,8 +572,12 @@ foldAdd f =
572-- >>> Stream.foldrM step (return False) s
572-- >>> Stream.foldrM step (return False) s
573-- True
573-- True
574--
574--
575+-- >>> import Control.Monad (join)
576+-- >>> foldrM f z = join $ Stream.foldr f z
577+--
575{-# INLINE_NORMAL foldrM #-}
578{-# INLINE_NORMAL foldrM #-}
576foldrM :: Monad m => (a -> m b -> m b) -> m b -> Stream m a -> m b
579foldrM :: Monad m => (a -> m b -> m b) -> m b -> Stream m a -> m b
580+-- foldrM f z = join . Streamly.Internal.Data.Stream.StreamD.Type.foldr f z
577foldrM f z (Stream step state) = go SPEC state
581foldrM f z (Stream step state) = go SPEC state
578 where
582 where
579 {-# INLINE_LATE go #-}
583 {-# INLINE_LATE go #-}