Tilo Wiklund wrote:
Daniel Fischer wrote:
[...]
Well, I just gave an example where one would want chunking for reasons
other than performance. That iteratees don't provide the desired
functionality is a different matter.
[...]

In the case of hashing, wouldn't it be more reasonable to consider
iterators over streams of fixed (or at least predictable) sized chunks
(where a set of chunks can themselves be chunked), with the chunking
behaviour being given by another iteratee over the original stream?

It seems to me that one of the major points of iteratees is to provide
an abstraction from the kind of chunking irrelevant to the parsing
logic, otherwise I fail to see any difference (at least relevant to
chunking) to plain strict IO.

I thought so, too, but I was informed[1] that iteratees are just a small step up the abstraction ladder. The difference compared to an ordinary file Handle is that you can now reuse one and the same iteratee for reading from a String , for instance, without changing the source code of the iteratee.

Furthermore, iteratees can be suspended, which facilities resource management like closing files handles after they've been read.

[1]: http://www.reddit.com/r/haskell/comments/ar4wb/understanding_iteratees/c0j0f3r



Regards,
Heinrich Apfelmus

--
http://apfelmus.nfshost.com

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to