@hackage pipes2.5.0

Compositional pipelines

"Iteratees done right". This library implements iteratees/enumerators/enumeratees simply and elegantly, using different naming conventions.

Advantages over traditional iteratee implementations:

  • Concise API: This library uses a few simple abstractions with a very high power-to-weight ratio to reduce adoption time.

  • Bidirectionality: The library offers bidirectional communication

  • Blazing fast: Currently the fastest iteratee implementation

  • Clear semantics: All abstractions are grounded in category theory, which leads to intuitive behavior (and fewer bugs, if any!).

  • Extension Framework: You can elegantly mix and match extensions to the base type and easily create your own!

  • Extensive Documentation: Second to none!

I recommend you begin by reading Control.Pipe.Tutorial which introduces the basic concepts using the simpler unidirectional Pipe API. Then move on to Control.Proxy.Tutorial, which introduces the Proxy type which forms the core abstraction of this library. To use extensions or define your own, check out Control.Proxy.Trans.Tutorial.

I will soon replace Control.Frame with a superior resource-management solution, so new users of the library should avoid using it.