[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