conduit-1.3.5: Streaming data processing library.

Safe Haskell | None
Language | Haskell2010

Data.Conduit.Combinators.Stream

Description

These are stream fusion versions of some of the functions in Data.Conduit.Combinators. Many functions don't have stream versions here because instead they have `RULES` which inline a definition that fuses.

Synopsis

- yieldManyS :: forall (m :: Type -> Type) mono. (Monad m, MonoFoldable mono) => mono -> StreamProducer m (Element mono)
- repeatMS :: Monad m => m a -> StreamProducer m a
- repeatWhileMS :: Monad m => m a -> (a -> Bool) -> StreamProducer m a
- foldl1S :: forall (m :: Type -> Type) a. Monad m => (a -> a -> a) -> StreamConsumer a m (Maybe a)
- allS :: forall (m :: Type -> Type) a. Monad m => (a -> Bool) -> StreamConsumer a m Bool
- anyS :: forall (m :: Type -> Type) a. Monad m => (a -> Bool) -> StreamConsumer a m Bool
- sinkLazyS :: forall (m :: Type -> Type) lazy strict. (Monad m, LazySequence lazy strict) => StreamConsumer strict m lazy
- sinkVectorS :: forall (v :: Type -> Type) a (m :: Type -> Type). (Vector v a, PrimMonad m) => StreamConsumer a m (v a)
- sinkVectorNS :: forall (v :: Type -> Type) a (m :: Type -> Type). (Vector v a, PrimMonad m) => Int -> StreamConsumer a m (v a)
- sinkLazyBuilderS :: forall (m :: Type -> Type). Monad m => StreamConsumer Builder m ByteString
- lastS :: forall (m :: Type -> Type) a. Monad m => StreamConsumer a m (Maybe a)
- lastES :: forall (m :: Type -> Type) seq. (Monad m, IsSequence seq) => StreamConsumer seq m (Maybe (Element seq))
- findS :: forall (m :: Type -> Type) a. Monad m => (a -> Bool) -> StreamConsumer a m (Maybe a)
- concatMapS :: forall (m :: Type -> Type) mono a. (Monad m, MonoFoldable mono) => (a -> mono) -> StreamConduit a m (Element mono)
- concatMapMS :: (Monad m, MonoFoldable mono) => (a -> m mono) -> StreamConduit a m (Element mono)
- concatS :: forall (m :: Type -> Type) mono. (Monad m, MonoFoldable mono) => StreamConduit mono m (Element mono)
- scanlS :: forall (m :: Type -> Type) a b. Monad m => (a -> b -> a) -> a -> StreamConduit b m a
- scanlMS :: Monad m => (a -> b -> m a) -> a -> StreamConduit b m a
- mapAccumWhileS :: forall (m :: Type -> Type) a s b. Monad m => (a -> s -> Either s (s, b)) -> s -> StreamConduitT a b m s
- mapAccumWhileMS :: Monad m => (a -> s -> m (Either s (s, b))) -> s -> StreamConduitT a b m s
- intersperseS :: forall (m :: Type -> Type) a. Monad m => a -> StreamConduit a m a
- slidingWindowS :: forall (m :: Type -> Type) seq a. (Monad m, IsSequence seq, Element seq ~ a) => Int -> StreamConduit a m seq
- filterMS :: Monad m => (a -> m Bool) -> StreamConduit a m a
- splitOnUnboundedES :: forall (m :: Type -> Type) seq. (Monad m, IsSequence seq) => (Element seq -> Bool) -> StreamConduit seq m seq
- initReplicateS :: Monad m => m seed -> (seed -> m a) -> Int -> StreamProducer m a
- initRepeatS :: Monad m => m seed -> (seed -> m a) -> StreamProducer m a

# Documentation

yieldManyS :: forall (m :: Type -> Type) mono. (Monad m, MonoFoldable mono) => mono -> StreamProducer m (Element mono) #

repeatMS :: Monad m => m a -> StreamProducer m a #

repeatWhileMS :: Monad m => m a -> (a -> Bool) -> StreamProducer m a #

foldl1S :: forall (m :: Type -> Type) a. Monad m => (a -> a -> a) -> StreamConsumer a m (Maybe a) #

allS :: forall (m :: Type -> Type) a. Monad m => (a -> Bool) -> StreamConsumer a m Bool #

anyS :: forall (m :: Type -> Type) a. Monad m => (a -> Bool) -> StreamConsumer a m Bool #

sinkLazyS :: forall (m :: Type -> Type) lazy strict. (Monad m, LazySequence lazy strict) => StreamConsumer strict m lazy #

sinkVectorS :: forall (v :: Type -> Type) a (m :: Type -> Type). (Vector v a, PrimMonad m) => StreamConsumer a m (v a) #

sinkVectorNS #

Arguments

:: forall (v :: Type -> Type) a (m :: Type -> Type). (Vector v a, PrimMonad m) |
=> Int | maximum allowed size
-> StreamConsumer a m (v a) |

sinkLazyBuilderS :: forall (m :: Type -> Type). Monad m => StreamConsumer Builder m ByteString #

lastS :: forall (m :: Type -> Type) a. Monad m => StreamConsumer a m (Maybe a) #

lastES :: forall (m :: Type -> Type) seq. (Monad m, IsSequence seq) => StreamConsumer seq m (Maybe (Element seq)) #

findS :: forall (m :: Type -> Type) a. Monad m => (a -> Bool) -> StreamConsumer a m (Maybe a) #

concatMapS :: forall (m :: Type -> Type) mono a. (Monad m, MonoFoldable mono) => (a -> mono) -> StreamConduit a m (Element mono) #

concatMapMS :: (Monad m, MonoFoldable mono) => (a -> m mono) -> StreamConduit a m (Element mono) #

concatS :: forall (m :: Type -> Type) mono. (Monad m, MonoFoldable mono) => StreamConduit mono m (Element mono) #

scanlS :: forall (m :: Type -> Type) a b. Monad m => (a -> b -> a) -> a -> StreamConduit b m a #

scanlMS :: Monad m => (a -> b -> m a) -> a -> StreamConduit b m a #

mapAccumWhileS :: forall (m :: Type -> Type) a s b. Monad m => (a -> s -> Either s (s, b)) -> s -> StreamConduitT a b m s #

mapAccumWhileMS :: Monad m => (a -> s -> m (Either s (s, b))) -> s -> StreamConduitT a b m s #

intersperseS :: forall (m :: Type -> Type) a. Monad m => a -> StreamConduit a m a #

slidingWindowS :: forall (m :: Type -> Type) seq a. (Monad m, IsSequence seq, Element seq ~ a) => Int -> StreamConduit a m seq #

filterMS :: Monad m => (a -> m Bool) -> StreamConduit a m a #

splitOnUnboundedES :: forall (m :: Type -> Type) seq. (Monad m, IsSequence seq) => (Element seq -> Bool) -> StreamConduit seq m seq #

initReplicateS :: Monad m => m seed -> (seed -> m a) -> Int -> StreamProducer m a #

Streaming versions of `Data.Conduit.Combinators.Internal.initReplicate`

initRepeatS :: Monad m => m seed -> (seed -> m a) -> StreamProducer m a #

Streaming versions of `Data.Conduit.Combinators.Internal.initRepeat`