That's description on what any instance is expected to adhere to, not source.

You can check source links on stackable too:

https://www.stackage.org/haddock/lts-17.8/base-4.14.1.0/Data-Eq.html

On Fri, 2 Apr 2021, 16:38 Galaxy Being, <borgauf@gmail.com> wrote:
While learning about type classes, I tried to find the actual source code for Eq. In my beginner books this much is typically given

class Eq a where
  (==), (/=) :: a -> a -> Bool

-- Minimal completion definition:
  x /= y = not (x == y)
  x == y = not (x /= y)


I then found this at hackage.haskell.org, but the "source" links are dead. On this page is a section of what I can't tell is either source code or just commentary on all the different mathematical ideas about equality, i.e., 

Reflexivity
x == x = True
Symmetry
x == y = y == x
Transitivity
if x == y && y == z = True, then x == z = True
Substitutivity
if x == y = True and f is a "public" function whose return type is an instance of Eq, then f x == f y = True
Negation
x /= y = not (x == y)


I would like to know if this is indeed in the source code or if it's just a sort of commentary. It looks important. Where can I find the actual source for all these basic type classes?

LB
_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.