The pipes package
"Iteratees done right". This library implements iteratees/enumerators/enumeratees simply and elegantly, using different naming conventions.
Advantages over traditional iteratee implementations:
Simpler semantics: There is only one data type (
Pipe), two primitives (
yield), and only one way to compose
.). In fact, this library implements its entire behavior using its
Categoryinstances and enforces their laws strictly!
Clearer naming conventions: Enumeratees are called
Pipes, Enumerators are
Producers, and Iteratees are
Consumers are just type synonyms for
Pipes with either the input or output end closed.
Pipes are Categories: You compose them using ordinary composition.
Intuitive: Pipe composition is easier to reason about because it is a true
Category. Composition works seamlessly and you don't have to worry about restarting iteratees, feeding new input, etc. "It just works".
Vertical concatenation works flawlessly on everything: (
Pipes, but since everything is a
Pipe, you can use it to concatenate
Consumers, and even intermediate
Pipestages. Vertical Concatenation always works the way you expect, picking up where the previous
|Versions||1.0, 1.0.1, 1.0.2, 2.0.0, 2.1.0, 2.2.0, 2.3.0, 2.4.0, 2.5.0, 3.0.0, 3.1.0, 3.2.0, 3.3.0, 4.0.0, 4.0.1, 4.0.2, 4.1.0, 4.1.1, 4.1.2, 4.1.3, 4.1.4, 4.1.5, 4.1.6, 4.1.7, 4.1.8, 4.1.9, 4.2.0, 4.3.0, 4.3.1, 4.3.2, 4.3.3, 4.3.4, 4.3.5, 4.3.6, 4.3.7|
|Dependencies||base (==4.*), index-core, transformers, void [details]|
|Copyright||2012 Gabriel Gonzalez|
|Source repo||head: git clone https://github.com/Gabriel439/Haskell-Pipes-Library|
|Uploaded||Sun Jul 1 22:50:48 UTC 2012 by GabrielGonzalez|
|Distributions||Arch:4.3.7, Debian:4.1.7, Fedora:4.3.2, LTSHaskell:4.3.7, NixOS:4.3.7, Stackage:4.3.7, openSUSE:4.3.7|
|Downloads||46104 total (598 in the last 30 days)|
|Rating||2.75 (votes: 9) [estimated by rule of succession]|
|Status||Docs available [build log]
Last success reported on 2016-06-04 [all 1 reports]
Hackage Matrix CI
For package maintainers and hackage trustees