Some people seem to think that == is an equality predicate. This is a big source of confusion for them; until they realize that == is just another function returning Bool they will make claims like [1..]==[1..] having an unnatural result. The == function is only vaguely related to the equality predicate in that it is meant to be a computable approximation of semantic equality (but since it's overloaded it can be anything, of course).
-- Lennart On Jan 10, 2008 10:34 AM, <[EMAIL PROTECTED]> wrote: > Achim Schneider: > > > jerzy.karczmarczuk asks what's wrong with: > >> > [1..] == [1..] > >> > >> Whatever you may say more, this is neither obscure nor a bug. I still > >> wait for a relevant example. But I don't insist too much... > >> > > It's not an example of a bug, but of a cause. > > A cause of WHAT?? This is a perfect, nice, runaway computation, which > agrees with all dogmas of my religion. > > Now, if somebody says that the fact that some people find it difficult to > grasp the essence of laziness, and THIS is a source of bugs, I may > believe. > But not the laziness itself. (For some people the (==) operator seems to > be a permanent source of bugs.) > > The difference between fold and stricter fold' won't convince me either. > People who want to use laziness must simply read the documentation... > > On the other hand, what Don Stewart pointed out, the inconsistency between > enumFrom and enumFromTo, and the difference of behaviours when one passes > from Int to Integer, now, this is another story, worrying a little... > Thanks. > > > Perhaps another example is more relevant, the tradeoffs space-time in the > "optimized" version of the powerset generator... > > Jerzy Karczmarczuk > > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe >
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe