Make Eq type class single method

Joachim Breitner mail at joachim-breitner.de
Wed Oct 20 14:55:15 UTC 2021


Hi,

oh, and I completely forgot to add:

Am Mittwoch, dem 20.10.2021 um 16:39 +0200 schrieb Joachim Breitner:
> If no: would it be worth removing it?
> 
> Yes, every change is annoying, but if are going to keep using Haskell
> the next 30 days, it may pay off? And it might not be too bad: Remove
> it from base, but teach GHC to not error out if an instance defines
> (/=), but print a warning and otherwise ignore it. Libraries can remove
> it if it is defined, which is a backwards-compatible change.

And an (important?) benefit would be that now Eq would then be a
single-method class, which are compiled by GHC more efficiently – they
essentially _are_ the (==) function, not a tuple of both methods. For
something as low-level as (==), this might be measurable…

Cheers,
Joachim


-- 
Joachim Breitner
  mail at joachim-breitner.de
  http://www.joachim-breitner.de/




More information about the Libraries mailing list