Re: MINIMAL XOR (Was: Proposal: Make Eq type class single method)
David Feuer <[email protected]> Wed, 27 Oct 2021 11:19:45 -0400
| Newsgroups | gmane.comp.lang.haskell.libraries |
|---|---|
| Message-ID | <CAMgWh9sS_U80JTWRCiVhdGd6aOGf5ph0FDK0ts2AAprnPTosbw@mail.gmail.com> |
I think the only time they're not potentially contradictory is when you're dealing with singletons, and that's a pretty special case. On Wed, Oct 27, 2021, 11:15 AM Carter Schonwald <[email protected]> wrote: > not necessarily ... there could be contradictory sets of methods! :) > > like the minimal sets for Field type class, the xor would be for defining > '/' in terms of reciprocal and times or vice versa (/ vs recip) and > likewise (negate vs minus) etc etc > > On Wed, Oct 27, 2021 at 6:38 AM Henning Thielemann < > [email protected]> wrote: > >> >> On Mon, 25 Oct 2021, Carter Schonwald wrote: >> >> > i agree with Tom and Hecate,more strongly: >> > >> https://github.com/ghc/ghc/blob/98aa29d3fe447cce3407e6864b015892244bb475/libraries/ghc-prim/GHC/Classes.hs#L142-L150 >> >> > the current definition DOES NOT require defining both. >> > >> > as it currently stands, you only need to define one of '==' XOR '/=' >> > >> > this actually suggests an interesting and DIFFERENT >> ecosystem improvement, (ignoring IEEE non-signalling NANs), >> > namely we add support for XOR to minimal pragma syntax and issue a >> warning >> > >> > perhaps something like adding (XOR "reason String" clauseExpr1 >> clauseexpr2) ? >> >> The problem of implementing two methods in a contradictory way arises for >> any OR in MINIMAL pragma, right? > > _______________________________________________ > Libraries mailing list > [email protected] > http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries > _______________________________________________ Libraries mailing list [email protected] http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries