<div dir="ltr"><div class="gmail_default" style="font-family:georgia,serif">Hi,</div><div class="gmail_default" style="font-family:georgia,serif"><br></div><div class="gmail_default" style="font-family:georgia,serif">Sometimes, /= is semidecidable and == only cosemidecidable. E.g. Exact Real Arithmetic.</div><div class="gmail_default" style="font-family:georgia,serif"><br></div><div class="gmail_default" style="font-family:georgia,serif">Best,</div><div class="gmail_default" style="font-family:georgia,serif">Jens</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 20 Oct 2021 at 15:56, Joachim Breitner <<a href="mailto:mail@joachim-breitner.de">mail@joachim-breitner.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
oh, and I completely forgot to add:<br>
<br>
Am Mittwoch, dem 20.10.2021 um 16:39 +0200 schrieb Joachim Breitner:<br>
> If no: would it be worth removing it?<br>
> <br>
> Yes, every change is annoying, but if are going to keep using Haskell<br>
> the next 30 days, it may pay off? And it might not be too bad: Remove<br>
> it from base, but teach GHC to not error out if an instance defines<br>
> (/=), but print a warning and otherwise ignore it. Libraries can remove<br>
> it if it is defined, which is a backwards-compatible change.<br>
<br>
And an (important?) benefit would be that now Eq would then be a<br>
single-method class, which are compiled by GHC more efficiently – they<br>
essentially _are_ the (==) function, not a tuple of both methods. For<br>
something as low-level as (==), this might be measurable…<br>
<br>
Cheers,<br>
Joachim<br>
<br>
<br>
-- <br>
Joachim Breitner<br>
  <a href="mailto:mail@joachim-breitner.de" target="_blank">mail@joachim-breitner.de</a><br>
  <a href="http://www.joachim-breitner.de/" rel="noreferrer" target="_blank">http://www.joachim-breitner.de/</a><br>
<br>
<br>
_______________________________________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a><br>
</blockquote></div>