sousit

Source/Sink/Transform: An alternative to lazy IO and iteratees.

https://github.com/msiegenthaler/SouSiT

Latest on Hackage:0.4

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD-3-Clause licensed by Mario Siegenthaler
Maintained by [email protected]

Haskell library for Sources, Sinks and Transformers. The data is pushed from the source through the transfomers into the sink. The sink or a transfomer can decide at any time to end the transfer (see Iteratees). The transformers are very reusable since they can not depend on side effects, so they can be used with files as well as with simple lists.

Allows you to build pipelines such as:

listSource [1..10] $$ T.map(+1) =$= T.buffer 3 0 (+) =$ listSink
[9,18,27,11]

its possible to mix various type of sources and sinks, such as in:

fileSourceLine \"myfile.txt\" $$ T.drop 1 =$= T.map (++ "!") =$ listSink
[\"Hello Mario!\", \"How're you doing?!\"]

For more documentation see https://github.com/msiegenthaler/SouSiT.