[Haskell-cafe] ANNOUNCE: enumerator 0.4.8
jmillikin at gmail.com
Sun Mar 27 18:43:45 CEST 2011
On Sunday, March 27, 2011 8:38:38 AM UTC-7, John A. De Goes wrote:
> Enumeratees solve some use cases but not others. Let's say you want to
> incrementally compress a 2 GB file. If you use an enumeratee to do this,
> your "transformer" iteratee has to do IO. I'd prefer an abstraction to
> incrementally and purely produce the output from a stream of input.
There's no reason the transformer has to do IO. Right now a lot of the
interesting enumerator-based packages are actually bindings to C libraries,
so they are forced to use IO, but there's nothing inherent in the enumeratee
design to require it.
For example, the text codec enumeratees "encode" and "decode" in
Data.Enumerator.Text are pure.
I'm working on ideas for writing pure enumeratees to bound libraries, but
they will likely only work if the underlying library fully exposes its
state, like zlib. Libraries with private or very complex internal states,
such as libxml or expat, will probably never be implementable in pure
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe