Safe Haskell | Safe-Infered |
---|
- data Stream m a
- = Terminated
- | Value (m (a, Stream m a))
- sideEffect :: Monad m => (a -> m ()) -> Stream m a -> Stream m a
- listToStream :: Monad m => [a] -> Stream m a
- repeatS :: Monad m => a -> Stream m a
- repeatSM :: Monad m => m a -> Stream m a
- iterateS :: Monad m => (a -> m a) -> a -> Stream m a
- foldS :: Monad m => (a -> t -> a) -> a -> Stream m t -> m a
- foldSM :: Monad m => (a -> t -> m a) -> a -> Stream m t -> m a
- time :: (t, t1) -> t
- value :: (t, t1) -> t1
- mergeTimeStreams :: (Monad m, Ord t1) => t -> t2 -> Stream m (t1, t) -> Stream m (t1, t2) -> Stream m (t1, (t, t2))
- mergeTimeStreamsWith :: (Monad m, Ord t2) => t -> t1 -> (t -> t1 -> t3) -> Stream m (t2, t) -> Stream m (t2, t1) -> Stream m (t2, t3)
- mergeManyW :: (Monad m, Ord t) => [t1] -> (t1 -> t1 -> t1) -> [Stream m (t, t1)] -> Stream m (t, t1)
- mergeS :: (Monad m, Ord t2) => Stream m (t2, t) -> Stream m (t2, t1) -> Stream m (LRB (t2, t) (t2, (t, t1)) (t2, t1))
- data LRB a b c
- mergeE :: Monad m => (t, t2) -> Stream m (LRB (t1, t) (t1, (t, t2)) (t1, t2)) -> Stream m (t1, (t, t2))
- push :: Monad m => a -> Stream m a -> Stream m a
- zipS :: Applicative f => f a1 -> f a -> f (a1, a)
- 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
- takeWhileS :: Monad m => (a -> Bool) -> Stream m a -> Stream m a
- consS :: Monad m => a -> 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
- runStream :: Monad m => Stream m a -> m [a]
- runStream_ :: Monad m => Stream m t -> m ()
- runLast :: Monad m => a -> Stream m a -> m a
- runLast1 :: Monad m => Stream m a -> m a
Documentation
Stream of monadic values
Terminated | |
Value (m (a, Stream m a)) |
listToStream :: Monad m => [a] -> Stream m aSource
Repeating stream
iterateS :: Monad m => (a -> m a) -> a -> Stream m aSource
Create a stream by iterating a monadic action
foldS :: Monad m => (a -> t -> a) -> a -> Stream m t -> m aSource
Pure and monadic left fold over a stream
mergeTimeStreams :: (Monad m, Ord t1) => t -> t2 -> Stream m (t1, t) -> Stream m (t1, t2) -> Stream m (t1, (t, t2))Source
mergeTimeStreamsWith :: (Monad m, Ord t2) => t -> t1 -> (t -> t1 -> t3) -> Stream m (t2, t) -> Stream m (t2, t1) -> Stream m (t2, t3)Source
mergeManyW :: (Monad m, Ord t) => [t1] -> (t1 -> t1 -> t1) -> [Stream m (t, t1)] -> Stream m (t, t1)Source
mergeS :: (Monad m, Ord t2) => Stream m (t2, t) -> Stream m (t2, t1) -> Stream m (LRB (t2, t) (t2, (t, t1)) (t2, t1))Source
mergeE :: Monad m => (t, t2) -> Stream m (LRB (t1, t) (t1, (t, t2)) (t1, t2)) -> Stream m (t1, (t, t2))Source
zipS :: Applicative f => f a1 -> f a -> f (a1, a)Source
dropS :: Monad m => Int -> Stream m a -> Stream m aSource
Drop elements from the stream. Due to stream structure, this operation cannot fail gracefully when dropping more elements than what is found in the stream
runStream_ :: Monad m => Stream m t -> m ()Source