- data Stream m a
- = Terminated
- | Value (m (a, Stream m a))

- sideEffect :: Monad m => (a -> m ()) -> Stream m a -> Stream m a
- data LRB a b c
- sequenceS :: Monad m => Stream m (m a) -> Stream m a
- mapMS :: Monad m => (a -> m b) -> Stream m a -> Stream m b
- dropS :: Monad m => Int -> Stream m a -> Stream m a
- takeS :: Monad m => Int -> Stream m a -> Stream m a
- pairS :: Monad m => Stream m a -> Stream m (a, a)
- terminateOn :: Monad m => (a -> Bool) -> Stream m a -> Stream m a

# Documentation

Stream of monadic values

Terminated | |

Value (m (a, Stream m a)) |

Repeating stream

Create a stream by iterating a monadic action

Pure and monadic left fold over a stream

Merge two (time)streams