On Fri, 11 Jan 2008 09:11:52 +0200, Lennart Augustsson <[EMAIL PROTECTED]> wrote:

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).

Imagine one can manage to define a function which stops when applied on any value of type T1, but not when applied on some values of type T2 including bottom. Because bottom is a member of any type and referential transparency must not be broken, such a function cannot be defined.



________ Information from NOD32 ________
This message was checked by NOD32 Antivirus System for Linux Mail Servers.
 part000.txt - is OK
http://www.eset.com
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to