The pipes-transduce package

[ Tags: bsd3, control, library ] [ Propose Tags ]

A fold-like datatype for pipes Producers.

[Skip to Readme]


Versions,,,,,,,,, 0.4, 0.4.1
Change log CHANGELOG
Dependencies base (==4.*), bifunctors (>=5.0), bytestring (>=, conceit (>=, foldl (>=1.2.0), free (>=4.0), microlens (>=, pipes (==4.*), pipes-bytestring, pipes-concurrency (>=2.0.2), pipes-group (>=1.0.1), pipes-parse, pipes-safe, pipes-text (>=, text (>=, transformers (>=, void (>=0.6) [details]
License BSD3
Copyright 2015 Daniel Diaz
Author Daniel Diaz
Category Control
Bug tracker
Source repo head: git clone
Uploaded Sun Dec 24 11:51:30 UTC 2017 by DanielDiazCarrete
Distributions NixOS:0.4.1
Downloads 1913 total (69 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-12-24 [all 1 reports]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees

Readme for pipes-transduce-0.4.1

[back to package description]

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.