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! ;-)

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to