[Haskell-cafe] ANNOUNCE: enumerator, an alternative iteratee
wren ng thornton
wren at freegeek.org
Thu Aug 19 17:36:22 EDT 2010
John Millikin wrote:
> If you can recall the reasoning behind using ListLike or StreamChunk,
> it would be useful. Their advantages over simply using lists is not
> obvious to me.
Well, one benefit is for efficient use of ByteStrings. Because the
StreamChunk/ListLike class allows for non-parametric containers, you can
use the fact that ByteString is a container of Word8 without unpacking
it into a [Word8] first. Unpacking ByteStrings is horribly inefficient
and is almost never necessary.
As for why ListLike and StreamChunk are separate classes instead of just
having "class StreamChunk full elem | full -> elem", ...that I don't
know. Personally, I dislike ListLike because it has far too many methods.
More information about the Haskell-Cafe