on master help sign in
Add postscanlMAfter'
commit3b0cf814e38fcd17a7324be758bb449738a0ab17 authorHarendra Kumar <harendra@composewell.com> dateSat 2 Apr 2022, 00:33 (5 years ago) parentba05f93
2 files changed+9
src/Streamly/Internal/Data/Stream/IsStream/Common.hs+7 src/Streamly/Internal/Data/Stream/IsStream/Transform.hs+2
src/Streamly/Internal/Data/Stream/IsStream/Common.hs+7
@@ -29,6 +29,7 @@ module Streamly.Internal.Data.Stream.IsStream.Common
2929 -- * Transformation
3030 , map
3131 , scanlMAfter'
32+ , postscanlMAfter'
3233 , postscanlM'
3334 , smapM
3435 -- $smapM_Notes
@@ -354,6 +355,12 @@ scanlMAfter' :: (IsStream t, Monad m)
354355scanlMAfter' step initial done stream =
355356 fromStreamD $ D.scanlMAfter' step initial done $ toStreamD stream
356357
358+{-# INLINE postscanlMAfter' #-}
359+postscanlMAfter' :: (IsStream t, Monad m)
360+ => (b -> a -> m b) -> m b -> (b -> m b) -> t m a -> t m b
361+postscanlMAfter' step initial done stream =
362+ fromStreamD $ D.postscanlMAfter' step initial done $ toStreamD stream
363+
357364-- XXX this needs to be concurrent
358365-- | Like 'postscanl'' but with a monadic step function and a monadic seed.
359366--
src/Streamly/Internal/Data/Stream/IsStream/Transform.hs+2
@@ -45,6 +45,7 @@ module Streamly.Internal.Data.Stream.IsStream.Transform
4545 , scanl'
4646 , scanlM'
4747 , scanlMAfter'
48+ , postscanlMAfter'
4849 , postscanl'
4950 , postscanlM'
5051 , prescanl'
@@ -236,6 +237,7 @@ import Streamly.Internal.Data.Stream.IsStream.Common
236237 , reverse
237238 , reverse'
238239 , scanlMAfter'
240+ , postscanlMAfter'
239241 , smapM
240242 , take
241243 , takeWhile