The pipes-transduce package

[Tags:bsd3, library, test]

A fold-like datatype for pipes Producers.


[Skip to Readme]

Properties

Versions 0.1.0.0, 0.2.0.0, 0.2.3.0, 0.3.0.0, 0.3.0.1, 0.3.1.0, 0.3.2.0, 0.3.3.0, 0.3.4.0, 0.4
Change log CHANGELOG
Dependencies base (==4.*), bifunctors (>=5.0), bytestring (>=0.9.2.1), conceit (>=0.4.0.0), foldl (>=1.2.0), free (>=4.0), microlens (>=0.4.2.0), pipes (==4.*), pipes-bytestring, pipes-concurrency (>=2.0.2), pipes-group (>=1.0.1), pipes-parse, pipes-safe, pipes-text (>=0.0.1.0), text (>=0.11.2.0), transformers (>=0.4.0.0), void (>=0.6) [details]
License BSD3
Copyright 2015 Daniel Diaz
Author Daniel Diaz
Maintainer diaz_carrete@yahoo.com
Category Control
Bug tracker https://github.com/danidiaz/pipes-transduce/issues
Source repository head: git clone git@github.com:danidiaz/pipes-transduce.git
Uploaded Fri Apr 8 06:42:47 UTC 2016 by DanielDiazCarrete
Distributions NixOS:0.4
Downloads 619 total (21 in the last 30 days)
Votes
0 []
Status Docs available [build log]
Last success reported on 2016-04-08 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Readme for pipes-transduce

Readme for pipes-transduce-0.4

What's in this library?

A pair of fold-like datatypes that consume Producers from pipes and can be constructed in a variety of ways, in particular from the more versatile folds in Gabriel Gonzalez's foldl package.

The Fold1 consumes a single Producer, while the Fold2 datatype consumes two Producers concurrently.

Why was this library created?

I wanted a fold-like datatype for Producers that allowed "bracketing" operations like "withFile".

I also wanted to be able to fold two Producers concurrently (for example, merge the piped stdout & stderr streams of an external process into one unified stream).

Finally, I wanted the fold-like datatype to have a "failure option" baked in.

If you don't need any of that, you are better off using pipes and/or foldl by themselves.

Where can I find working examples for this library?

There are none yet.