2026/01/15

Newest at the top

2026-01-15 20:12:25 +0100 <tomsmeding> I feel like the nonassociativity of the (==) operator in haskell is mostly because it is polymorphic. Had it been monomorphic for Bool, I'm sure it would have been made associative (in some direction)
2026-01-15 20:11:52 +0100Tuplanolla(~Tuplanoll@88-114-88-95.elisa-laajakaista.fi) Tuplanolla
2026-01-15 20:09:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-01-15 20:04:14 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-15 19:53:25 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-01-15 19:48:21 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-15 19:46:49 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-01-15 19:41:50 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-15 19:39:50 +0100Everything(~Everythin@172-232-54-192.ip.linodeusercontent.com) Everything
2026-01-15 19:36:41 +0100Googulator(~Googulato@2a01-036d-0106-29ac-fd48-b0ea-63d3-602a.pool6.digikabel.hu)
2026-01-15 19:36:28 +0100Googulator(~Googulato@2a01-036d-0106-29ac-fd48-b0ea-63d3-602a.pool6.digikabel.hu) (Quit: Client closed)
2026-01-15 19:30:31 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-01-15 19:30:23 +0100Hardyhardhard(~Hardyhard@user/hardyhardhard) hardyhardhard
2026-01-15 19:25:48 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2026-01-15 19:24:12 +0100ljdarj(~Thunderbi@user/ljdarj) (Quit: ljdarj)
2026-01-15 19:23:48 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-15 19:20:52 +0100elarks(~elarks@user/yerrii) (Quit: WeeChat 4.7.1)
2026-01-15 19:13:16 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-01-15 19:08:01 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-15 19:04:15 +0100 <geekosaur> that seems pretty obvious to me, since as defined either associativity makes the "other" one a comparison on `Bool`
2026-01-15 19:01:24 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2026-01-15 19:00:24 +0100 <dolio> Even though (==) is associative as an operation on Bool, Haskell will refuse to accept `x == y == z`.
2026-01-15 18:58:05 +0100 <dolio> Not about whether how they're inserted matters.
2026-01-15 18:57:54 +0100 <dolio> I expect the "associativity" in the question is not about that associativity. It sounds like it's asking about the rules on how parentheses are automatically inserted.
2026-01-15 18:48:06 +0100EvanR(~EvanR@user/evanr) EvanR
2026-01-15 18:47:10 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2026-01-15 18:43:25 +0100kuribas(~user@2a02-1810-2825-6000-b6e0-77f4-472f-1183.ip6.access.telenet.be) (Remote host closed the connection)
2026-01-15 18:34:09 +0100fp(~Thunderbi@89-27-10-140.bb.dnainternet.fi) fp
2026-01-15 18:24:20 +0100larsivi(~larsivi@user/larsivi) (Quit: WeeChat 4.8.1)
2026-01-15 18:23:37 +0100koz(~koz@121.99.240.58)
2026-01-15 18:22:05 +0100Lycurgus(~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
2026-01-15 18:14:16 +0100danza(~danza@user/danza) (Remote host closed the connection)
2026-01-15 18:12:52 +0100 <danza> cheers monochrom
2026-01-15 18:12:14 +0100euphores(~SASL_euph@user/euphores) euphores
2026-01-15 18:08:49 +0100 <monochrom> Oh, <=> is iff.
2026-01-15 18:08:38 +0100 <lambdabot> Suggested fix:
2026-01-15 18:08:38 +0100 <lambdabot> Variable not in scope: <=>
2026-01-15 18:08:38 +0100 <lambdabot> error: [GHC-88464]
2026-01-15 18:08:37 +0100 <danza> :t (<=>)
2026-01-15 18:08:36 +0100 <monochrom> (or any syntax)
2026-01-15 18:08:29 +0100 <monochrom> (Hint: They are pros in math content, but not math syntax.)
2026-01-15 18:07:44 +0100 <monochrom> Alternatively, you can legalize "x == y == z" but you say it does not mean "(x == y) == z" or "x == (y == z)". You say it means "x == y && y == z". This is what mathematicians did. (You can trust that they are pros and they know what they're doing, right? Right? >:) )
2026-01-15 18:07:17 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-01-15 18:02:20 +0100 <monochrom> It is surprising but handy that both == and /= (xor) are commutative associative and with identities.
2026-01-15 18:01:16 +0100 <tomsmeding> (because == on Bools is <=>)
2026-01-15 18:00:56 +0100 <monochrom> (Fun fact: But if x,y,z are all Bool, then they are the same. Draw a truth table to see and be shocked. :) )
2026-01-15 18:00:07 +0100 <monochrom> "associativity" talks about whether "(x == y) == z" and "x == (y == z)" are the same or not. So those are the two expressions the hint wants you to look at. If they were the same, can you see a type error?
2026-01-15 17:59:00 +0100doyougnu(~doyougnu@38.175.72.111)
2026-01-15 17:55:35 +0100doyougnu(~doyougnu@38.175.72.111) (Ping timeout: 240 seconds)
2026-01-15 17:52:13 +0100euphores(~SASL_euph@user/euphores) (Quit: Leaving.)