[Haskell-cafe] Stream-fusion without the lists
Don Stewart
dons at galois.com
Tue May 12 12:59:01 EDT 2009
rl:
> 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?
>
> 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.
>
The other issue is reminding developers to preserve stream invariants,
so as not to break the heavy duty rewriting that's going to happen to
their code.
Still, if someone finds a use for it, proceed!
-- Don
More information about the Haskell-Cafe
mailing list