foundation-0.0.13: Alternative prelude with batteries and no dependencies

Safe HaskellNone
LanguageHaskell2010

Foundation.Conduit

Synopsis

Documentation

data Conduit input output monad result

A component of a conduit pipeline, which takes a stream of input, produces a stream of output, performs actions in the underlying monad, and produces a value of result when no more output data is available.

Instances

MonadTrans (Conduit i o) 
Monad (Conduit i o m) 
Functor (Conduit i o m) 
Applicative (Conduit i o m) 
MonadIO m => MonadIO (Conduit i o m) 
MonadCatch m => MonadCatch (Conduit i o m) 
MonadThrow m => MonadThrow (Conduit i o m) 
MonadFailure m => MonadFailure (Conduit i o m) 
type Failure (Conduit i o m) = Failure m 

newtype ZipSink i m r

Constructors

ZipSink 

Fields

getZipSink :: Conduit i () m r
 

Instances

Monad m => Functor (ZipSink i m) 
Monad m => Applicative (ZipSink i m) 

await :: Conduit i o m (Maybe i)

Await for a value from upstream.

awaitForever :: (input -> Conduit input output monad b) -> Conduit input output monad ()

yield :: Monad m => o -> Conduit i o m ()

Send a value downstream.

yields :: (Monad m, Foldable os, Element os ~ o) => os -> Conduit i o m ()

Send values downstream.

yieldOr

Arguments

:: o 
-> m ()

finalizer

-> Conduit i o m () 

Same as yield, but additionally takes a finalizer to be run if the downstream component terminates.

leftover :: i -> Conduit i o m ()

Provide leftover input to be consumed by the next component in the current monadic binding.

runConduit :: Monad m => Conduit () () m r -> m r

Run a conduit pipeline to completion.

runConduitPure :: Conduit () () Identity r -> r

Run a pure conduit pipeline to completion.

runConduitRes :: (MonadBracket m, MonadIO m) => Conduit () () (ResourceT m) r -> m r

Run a conduit pipeline in a ResourceT context for acquiring resources.

fuse :: Monad m => Conduit a b m () -> Conduit b c m r -> Conduit a c m r

Send the output of the first Conduit component to the second Conduit component.

(.|) :: Monad m => Conduit a b m () -> Conduit b c m r -> Conduit a c m r infixr 2

Operator version of fuse.

sourceFile :: MonadResource m => FilePath -> Conduit i (UArray Word8) m ()

sinkFile :: MonadResource m => FilePath -> Conduit (UArray Word8) i m ()

sinkList :: Monad m => Conduit i o m [i]

bracketConduit :: MonadResource m => IO a -> (a -> IO b) -> (a -> Conduit i o m r) -> Conduit i o m r