You people rock. Responses were really helpful and I understand how
the computation goes now.
I see I need to reprogram my eyes to expect lazy evaluation in places
where I am used to one-shot results. I see lazy evaluation is all
around in Haskell builtins.
From a formal point of view how does this work? The specifications in
http://www.haskell.org/onlinereport/standard-prelude.html
include the lazy aspect of the definitions albeit they do not require
that exact implementation, right?
On the other hand, where does Haskell 98 say == is lazy on lists?
-- fxn
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe