[Haskell-cafe] Eq source code?
Galaxy Being
borgauf at gmail.com
Fri Apr 2 15:58:27 UTC 2021
Good, so it is a sort of commentary. Thanks.
On Fri, Apr 2, 2021 at 10:46 AM Liam Wall <liam.wall+haskell at gmail.com>
wrote:
> 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 at 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
>> <https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-Eq.html> 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.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20210402/185cb6ff/attachment.html>
More information about the Haskell-Cafe
mailing list