[Haskell-cafe] Stream-fusion without the lists
Andrew Coppin
andrewcoppin at btinternet.com
Tue May 12 14:25:09 EDT 2009
Roman Leshchinskiy wrote:
> On 12/05/2009, at 14:45, Reiner Pope wrote:
>
>> The Stream datatype seems to be much better suited to representing
>> loops than the list datatype is. So, instead of programming with the
>> lists, why don't we just use the Stream datatype directly?
This is more or less the conclusion I came to myself the other day when
I sat down and tried to implement stream fusion myself (just for giggles).
> I think the main reason is that streams don't store data and therefore
> don't support sharing. That is, in
>
> let xs = map f ys in (sum xs, product xs)
>
> the elements of xs will be computed once if it is a list but twice if
> it is a stream.
...and I hadn't thought of this part! ;-)
More information about the Haskell-Cafe
mailing list