[Haskell-cafe] The Proliferation of List-Like Types
jules at jellybean.co.uk
Fri Feb 22 02:18:03 EST 2008
Thomas Schilling wrote:
> On 21 feb 2008, at 18.35, Johan Tibell wrote:
>> I switched from lazy bytestrings to a left fold in my networking code
>> after reading what Oleg wrote about streams vs folds. No problems with
>> handles, etc. anymore.
> Do you fold over chunks? Can you continue to use Parsek or other
> utilities that need a stream-abstraction, and if so, how do you handle
> the end of a chunk. This is the kind of callback interface where lazy
> evaluation really abstracts things nicely.
You can't call a stream-abstraction utility using a left-fold-enumerator
without cheating (unsafeInterleave), because the stream-abstraction is
incompatible (and leaky! even though it is convenient).
You can convert in the other direction fine.
Chunk are no problem, and convertible: you can build an element fold
from a chunk fold, and a chunk fold from an element fold (as long as
there is an 'end-of-input' marker).
More information about the Haskell-Cafe