Data.Conduit.Internal

# Pipe

## Types

data Pipe l i o u m r

## Primitives

await

awaitE

awaitForever

yield

yieldM

yieldOr

leftover

## Finalization

bracketP

addCleanup

## Composition

idP

pipe

pipeL

runPipe

injectLeftovers

(>+>)

(<+<)

## Exceptions

catchP

handleP

tryP

## Utilities

transPipe

mapOutput

mapOutputMaybe

mapInput

sourceList

withUpstream

enumFromTo

generalizeUpstream

# Conduit

## Types

data ConduitM i o m r

type Source m o

type Producer m o

type Sink i

type Consumer i m r

type Conduit i m o

data ResumableSource m o

data ResumableConduit i m o

data Flush a

### Newtype wrappers

data ZipSource m o

data ZipSink i m r

data ZipConduit i o m r

## Primitives

await

awaitForever

yield

yieldM

yieldOr

leftover

runConduit

## Composition

connectResume

connectResumeConduit

fuseLeftovers

fuseReturnLeftovers

($$+)

($$++)

($$+-)

($=+)

(=$$+)

(=$$++)

(=$$+-)

($$)

($=)

(=$)

(=$=)

## Generalizing

sourceToPipe

sinkToPipe

conduitToPipe

toProducer

toConsumer

## Cleanup

bracketP

addCleanup

## Exceptions

catchC

handleC

tryC

## Utilities

transPipe

mapOutput

mapOutputMaybe

mapInput

closeResumableSource

unwrapResumable

unwrapResumableConduit

newResumableSource

newResumableConduit

zipSinks

zipSources

zipSourcesApp

zipConduitApp

mergeSource

passthroughSink

sourceToList

fuseBoth

fuseBothMaybe

fuseUpstream

sequenceSources

sequenceSinks

sequenceConduits

# Fusion (highly experimental!!!)