pipes-3.0.0: Compositional pipelines

Safe HaskellSafe




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



type Pipe p a b = p () a () b Source #

A unidirectional Proxy.

type Producer p b = p C () () b Source #

A Pipe that produces values

Producers never request.

type Consumer p a = p () a () C Source #

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' () () C Source #

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 () C Source #

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' b Source #

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

Servers never request.

type Session p = p C () () C Source #

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

Sessions never request or respond.


data C Source #

The empty type, denoting a 'C'losed end