packages feed

pipes-transduce-0.3.0.1: README.md

## Whats in this library?

A pair of fold-like datatypes that consume
[Producers](http://hackage.haskell.org/package/pipes-4.1.7/docs/Pipes.html#t:Producer)
from [pipes](http://hackage.haskell.org/package/pipes) and can be constructed
in a variety of ways, in particular from the more versatile folds in Gabriel
Gonzalez's [foldl](http://hackage.haskell.org/package/foldl) package.

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

## Why was this library created?

I wanted a fold-like datatype for IO-based Producers that let me perform
"bracketing" operations (the folds in foldl are push-based and do not allow
that). 

I also wanted to be able to fold two Producers concurrently (for example, take
the piped stdout & stderr streams of an external process and merge the lines
into a single file as they are produced).

Finally, I wanted the fold-like datatype to have a "failure value" 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.