on master help sign in
Change the API of Internal.Unfold.iterateM & fix its behaviour

The behaviour is now same as the behaviour in Prelude

commitfdf02e71861fc962c02475d614478b18ae2c896e authoradithyaov <adithya@composewell.com> dateTue 20 Oct 2020, 06:10 (6 years ago) parent3c5d2f8
1 file changed+3−3
src/Streamly/Internal/Data/Unfold.hs+3−3
src/Streamly/Internal/Data/Unfold.hs+3−3
@@ -527,13 +527,13 @@ repeatM = Unfold step return
527527-- /Internal/
528528--
529529{-# INLINE iterateM #-}
530−iterateM :: Monad m => (a -> m a) -> Unfold m a a
531−iterateM f = Unfold step f
530+iterateM :: Monad m => (a -> m a) -> Unfold m (m a) a
531+iterateM f = Unfold step id
532532 where
533533 {-# INLINE_LATE step #-}
534534 step x = do
535535 fx <- f x
536− return $ Yield fx fx
536+ return $ Yield x fx
537537
538538-- | @fromIndicesM gen@ generates an infinite stream of values using @gen@
539539-- starting from the seed.