[Haskell-cafe] Stream processing
Gabriel Gonzalez
gabriel439 at gmail.com
Sat May 11 21:15:55 CEST 2013
On 05/11/2013 11:04 AM, Michael Snoyman wrote:
> It's quite old at this point, but you may be interested in reading the
> initial motivations for creating conduit when the iteratee pattern
> (and enumerator library in particular) already existed:
>
> https://github.com/snoyberg/conduit/blob/master/README.md#general-goal
>
> I would say the only real component missing from your list is being
> able to structure significantly more complicated control flows, such
> as the use case of combining a web server and web client into a web
> proxy. That was probably the example which finally pushed me to start
> thinking seriously about an enumerator replacement. In conduit, this
> use case is addressed by connect-and-resume, which essentially allows
> you to escape the inversion of control normally introduced by the
> conduit pattern.
>
Speaking of escaping inversion of control, I'm going to take a moment to
shamelessly plug this post of mine showing that you can escape the pipe
monad using a trick uncannily similar to `io-streams`:
http://www.haskellforall.com/2013/04/pipes-and-io-streams.html
It's not equivalent to `conduit`'s connect and resume, though, which is
very different.
More information about the Haskell-Cafe
mailing list