2025/03/12

Newest at the top

2025-03-12 05:31:23 +0100 <c_wraith> UndecidableInstances is basically always fine to turn on. It's when you do and then GHC tells you the next thing to do is turn on overlapping, you know you're doing something wrong.
2025-03-12 05:30:14 +0100mange(~user@user/mange) mange
2025-03-12 05:29:05 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-03-12 05:28:51 +0100 <EvanR> (unless you do overlapping instances and god help you)
2025-03-12 05:28:35 +0100 <EvanR> typeclasses aren't built to do the sort of "overriding" that you see in prototypal OOP. Your type either has a single instance for the class, or it doesn't. Not competing instances with priority
2025-03-12 05:27:16 +0100 <EvanR> it leads to overlapping instances
2025-03-12 05:27:03 +0100 <EvanR> then ekmett gets to that in the response
2025-03-12 05:26:51 +0100 <EvanR> the first thing I thought was "for some reason, this idea of default implementations that work for everything with a certain typeclass instance is frowned upon" and couldn't remember the reason
2025-03-12 05:26:13 +0100infinity0(~infinity0@pwned.gg) (Ping timeout: 245 seconds)
2025-03-12 05:24:40 +0100 <euouae> but at the same time it's fine because of the functional dependency | m -> s in the definition of MonadState in mtl
2025-03-12 05:24:39 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-12 05:24:19 +0100 <euouae> what I gathered from the reddit post is that the 's' is not getting smaller and that is the issue
2025-03-12 05:23:33 +0100 <EvanR> which these smaller conditions guarantee
2025-03-12 05:23:16 +0100 <EvanR> it's really nice when the compiler knows that it will finish and not enter into an infinite loop
2025-03-12 05:22:58 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2025-03-12 05:22:52 +0100 <EvanR> The constraint ‘Monad (t n)’ is no smaller than the instance head (Use UndecidableInstances to permit this)
2025-03-12 05:18:43 +0100 <euouae> This thread <https://www.reddit.com/r/haskell/comments/5zjwym/when_is_undecidableinstances_okay_to_use/> has good info on UndecidableInstances, the other two were easier to understand
2025-03-12 05:13:39 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-03-12 05:06:58 +0100euouae(~euouae@user/euouae) euouae
2025-03-12 05:06:34 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-12 05:01:25 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 244 seconds)
2025-03-12 05:00:29 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-03-12 04:58:27 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 252 seconds)
2025-03-12 04:57:21 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-03-12 04:55:26 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-03-12 04:51:13 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-12 04:44:57 +0100izzyfalco(~jake_pers@user/izzyfalco) (Ping timeout: 276 seconds)
2025-03-12 04:43:31 +0100yegorc(~yegorc@user/yegorc) (Quit: Leaving)
2025-03-12 04:40:49 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-03-12 04:35:51 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-12 04:34:04 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2025-03-12 04:30:30 +0100enikar(~enikar@user/enikar) (Quit: WeeChat 4.5.1)
2025-03-12 04:24:44 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-03-12 04:20:29 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-12 04:16:39 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 265 seconds)
2025-03-12 04:11:57 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-03-12 04:09:24 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-03-12 04:05:18 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-03-12 04:05:06 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-12 04:03:51 +0100izzyfalco(~jake_pers@user/izzyfalco) izzyfalco
2025-03-12 03:58:50 +0100tavare(~tavare@user/tavare) tavare
2025-03-12 03:58:50 +0100tavare(~tavare@150.129.88.189) (Changing host)
2025-03-12 03:58:50 +0100tavare(~tavare@150.129.88.189) tavare
2025-03-12 03:54:22 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-03-12 03:49:43 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-12 03:41:15 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-48-184-145-138-167.dsl.bell.ca)
2025-03-12 03:39:24 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-03-12 03:34:21 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-12 03:30:41 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 248 seconds)
2025-03-12 03:27:36 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)