[Haskell-cafe] Re: instance Eq (a -> b)

Ashley Yakeley ashley at semantic.org
Wed Apr 14 04:17:52 EDT 2010


Thomas Davie wrote:
> Certainly bottom is a value, and it's a value in *all* Haskell types.

This is a matter of interpretation. If you consider bottom to be a 
value, then all the laws fail. For instance, (==) is supposed to be 
reflexive, but "undefined == undefined" is not True for almost any type.

For this reason I recommend "fast and loose reasoning":
http://www.cs.nott.ac.uk/~nad/publications/danielsson-et-al-popl2006.html

-- 
Ashley Yakeley


More information about the Haskell-Cafe mailing list