Newest at the top
| 2026-07-01 21:05:45 +0000 | pfc | (~pfc@user/pfc) pfc |
| 2026-07-01 21:05:23 +0000 | <ski> | i've occasionally wanted alternative defaults, depending on which methods were given explicit definitions |
| 2026-07-01 21:04:58 +0000 | <monochrom> | But it's OK, basically only he and the new King are happy. |
| 2026-07-01 21:04:33 +0000 | <monochrom> | Well Tyrion misspoke. Because he has found a politically stable solution, he was happy as someone who runs the country and needed everything stable! |
| 2026-07-01 21:03:37 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-07-01 21:02:31 +0000 | tomsmeding | doesn't like it when math stuff is implicit because then I inevitably misunderstand at some point, so please do the explicit version -- I'm happy! |
| 2026-07-01 20:59:09 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-01 20:57:48 +0000 | <monochrom> | In this case it now looks unfair to put either of them inside (and therefore the other outside). Tyrion Lannister's solution applies: Both outside, everyone is unhappy, that's probably the most politically stable solution! |
| 2026-07-01 20:57:23 +0000 | <tomsmeding> | it's actually more explicit, which is not necessarily a bad thing |
| 2026-07-01 20:57:04 +0000 | <tomsmeding> | that sounds like examFromLFixer / examFromGFixer :p |
| 2026-07-01 20:56:26 +0000 | yin | (~zero@user/zero) zero |
| 2026-07-01 20:55:15 +0000 | <monochrom> | What happens now is: Fixer (fixed points) has 2 subclasses, LFixer (least) and GFixer (greatest). If a Fixer instance is also an instance of LFixer, I have one impl for exam; if GFixer, I have another! |
| 2026-07-01 20:54:06 +0000 | <tomsmeding> | certainly, but since Haskell has no concept of subclasses, just of unrelated classes that have superclass constraints on them, I don't see the problem :p |
| 2026-07-01 20:54:00 +0000 | yin | (~zero@user/zero) (Remote host closed the connection) |
| 2026-07-01 20:53:29 +0000 | <monochrom> | I think it was intended for things like "default method :: (Generic a) => ...", where Generic is an independent class. |
| 2026-07-01 20:52:42 +0000 | tomsmeding | sees no crime in that code |
| 2026-07-01 20:51:58 +0000 | <monochrom> | Yeah! |
| 2026-07-01 20:51:55 +0000 | <monochrom> | I think I have abused default-sig-for-conditional-default-impl. The condition is probably not supposed to be a subclass. |
| 2026-07-01 20:51:49 +0000 | <tomsmeding> | *thing |
| 2026-07-01 20:51:46 +0000 | <tomsmeding> | is this the exam/make thinig |
| 2026-07-01 20:51:14 +0000 | <monochrom> | I have class Fixer, and subclass LFixer. In the superclass Fixer, I have "default exam:: (LFixer fix, Functor f) => fix f -> f (fix f); exam = ...". |
| 2026-07-01 20:49:45 +0000 | <monochrom> | I have actually been committing a crime. I now confess: |
| 2026-07-01 20:49:25 +0000 | <monochrom> | I spoke too early! It exists. But I'll go the fmapDefault way, put it outside. |
| 2026-07-01 20:49:23 +0000 | acidjnk_new3 | (~acidjnk@p200300d6e74def37e6046d471dcbd32e.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 2026-07-01 20:48:53 +0000 | acidjnk | (~acidjnk@p200300d6e74def300b4dc62049e4d238.dip0.t-ipconnect.de) acidjnk |
| 2026-07-01 20:48:45 +0000 | acidjnk | (~acidjnk@p200300d6e74def37e6046d471dcbd32e.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 2026-07-01 20:48:19 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-07-01 20:46:55 +0000 | <tomsmeding> | GHC just stared at your problem for long enough, and the problem got scared |
| 2026-07-01 20:46:07 +0000 | <tomsmeding> | :D |
| 2026-07-01 20:45:59 +0000 | <monochrom> | Things have changed. I now realize that in my case today the 2nd implementation does not exist. Problem vanished in a puff of logic! |
| 2026-07-01 20:45:17 +0000 | acidjnk_new | (~acidjnk@p200300d6e74def300b4dc62049e4d238.dip0.t-ipconnect.de) |
| 2026-07-01 20:44:37 +0000 | <monochrom> | Haha yikes |
| 2026-07-01 20:44:28 +0000 | geekosaur | whispers "IfCxt" |
| 2026-07-01 20:43:48 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-01 20:43:04 +0000 | <monochrom> | (like how there is fmapDefault) |
| 2026-07-01 20:42:49 +0000 | monochrom | resorts to writing, on the outside, "fooDefaultFromBar". |
| 2026-07-01 20:42:13 +0000 | <monochrom> | But today it is my turn to want that in my own class! |
| 2026-07-01 20:41:50 +0000 | Vizious | (~bes@user/Vizious) (Ping timeout: 245 seconds) |
| 2026-07-01 20:41:11 +0000 | <monochrom> | Heh I know I have explained to other people "open world, cannot express 'if X is an instance of C then foo else bar'" |
| 2026-07-01 20:40:10 +0000 | <tomsmeding> | monochrom: how would you want ghc to choose between the two implementations? |
| 2026-07-01 20:40:04 +0000 | elarks | (~elarks@user/yerrii) (Ping timeout: 276 seconds) |
| 2026-07-01 20:39:25 +0000 | ephapticpulse | (~user@user/ephapticpulse) ephapticpulse |
| 2026-07-01 20:38:45 +0000 | <monochrom> | :( I can only provide one default implementation (for a method in a class). |
| 2026-07-01 20:33:02 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2026-07-01 20:28:25 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-01 20:26:22 +0000 | ystael | (~ystael@user/ystael) ystael |
| 2026-07-01 20:17:32 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2026-07-01 20:15:46 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Excess Flood) |
| 2026-07-01 20:13:57 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2026-07-01 20:13:03 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |