@@ -126,16 +126,16 @@ each = Prelude.foldr cons nil
126-- | Iterate a pure function from a seed value, streaming the results forever
126-- | Iterate a pure function from a seed value, streaming the results forever
127iterate :: Streaming t => (a -> a) -> a -> t m a
127iterate :: Streaming t => (a -> a) -> a -> t m a
128iterate step = fromStream . go
128iterate step = fromStream . go
130− go s = scons s (Just (go (step s)))
130+ go s = scons s (Just (go (step s)))
132-- | Iterate a monadic function from a seed value, streaming the results forever
132-- | Iterate a monadic function from a seed value, streaming the results forever
133−iterateM :: (Streaming t, Monad m) => (a -> m a) -> m a -> t m a
133+iterateM :: (Streaming t, Monad m) => (a -> m a) -> a -> t m a
134iterateM step = fromStream . go
134iterateM step = fromStream . go
136− go ms = Stream $ \_ _ yld -> do
136+ go s = Stream $ \_ _ yld -> do
137− s <- ms
137+ a <- step s
138− yld s (Just (go (step s)))
138+ yld s (Just (go a))
140-- | Read lines from an IO Handle into a stream of Strings.
140-- | Read lines from an IO Handle into a stream of Strings.
141fromHandle :: (Streaming t, MonadIO m) => IO.Handle -> t m String
141fromHandle :: (Streaming t, MonadIO m) => IO.Handle -> t m String