pipes
's core data type is the Proxy
monad transformer. Pipe
, Producer
, Consumer
and so on are defined in terms of Proxy
.
Since Proxy
is a monad transformer, definitions of Pipe
s take the form of monadic scripts which await
and yield
values, additionally performing effects from the base monad m
.