
On Jan 10, 2008 3:36 PM, Achim Schneider
jerzy.karczmarczuk@info.unicaen.fr wrote:
Niko Korhonen writes:
...
Although it could be argued that laziness is the cause of some very obscure bugs... <g> Niko
Example, PLEASE.
[1..] == [1..]
, for assumed operational semantics of ones own axiomatic semantics. Bugs are only a misunderstanding away.
It has nothing to do with laziness, but with using an algebraic function (==) with a codata structure (stream). If Haskell kept laziness but enforced separation of data and codata such code wouldn't compile. Lazy lists or streams never are a problem, but you can't (generically) fold codata.
-- (c) this sig last receiving data processing entity. Inspect headers for past copyright information. All rights reserved. Unauthorised copying, hiring, renting, public performance and/or broadcasting of this signature prohibited.
Best regards, Daniel Yokomizo