pipes-3.2.0: Compositional pipelines

Safe HaskellSafe-Inferred




These type synonyms simplify type signatures when proxies do not use all their type variables.



data C Source

The empty type, denoting a 'C'losed end


type Pipe p a b = p () a () bSource

A unidirectional Proxy.

type Producer p b = p C () () bSource

A Pipe that produces values

Producers never request.

type Consumer p a = p () a () CSource

A Pipe that consumes values

Consumers never respond.

type CoPipe p a' b' = p a' () b' ()Source

A Pipe where everything flows upstream

type CoProducer p a' = p a' () () CSource

A CoPipe that produces values flowing upstream

CoProducers never respond.

type CoConsumer p b' = p C () b' ()Source

A CoConsumer that consumes values flowing upstream

CoConsumers never request.

type Client p a' a = p a' a () CSource

Client a' a sends requests of type a' and receives responses of type a.

Clients never respond.

type Server p b' b = p C () b' bSource

Server b' b receives requests of type b' and sends responses of type b.

Servers never request.

type Session p = p C () () CSource

A self-contained Session, ready to be run by runProxy

Sessions never request or respond.