[Haskell-cafe] ANNOUNCE: enumerator 0.4.8

John Millikin 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 
enumeratees.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20110327/94e23252/attachment.htm>


More information about the Haskell-Cafe mailing list