2025/11/28

Newest at the top

2025-11-28 23:50:24 +0100tromp(~textual@2001:1c00:3487:1b00:9176:7929:ae5a:d4f6)
2025-11-28 23:49:00 +0100tromp(~textual@2001:1c00:3487:1b00:9176:7929:ae5a:d4f6) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-11-28 23:48:25 +0100 <EvanR> how many ways can you implement Monoid for Bool
2025-11-28 23:47:07 +0100 <EvanR> somebody is going to get pissed off! (in math you'd just non-chalantly use a different operator for this ring, and rely on everyone's mental inference)
2025-11-28 23:47:02 +0100milan(~milan@88.212.61.169) (Quit: WeeChat 4.5.2)
2025-11-28 23:46:03 +0100 <EvanR> but when + means xor
2025-11-28 23:45:38 +0100 <EvanR> type classes were invented so we could sanely overload specific operators like + for their cultural value
2025-11-28 23:39:55 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-28 23:35:34 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-28 23:35:13 +0100 <monochrom> :)
2025-11-28 23:34:58 +0100divlamir(~divlamir@user/divlamir) divlamir
2025-11-28 23:34:45 +0100divlamir(~divlamir@user/divlamir) (Read error: Connection reset by peer)
2025-11-28 23:30:13 +0100qqe(~qqq@185.54.22.255) (Remote host closed the connection)
2025-11-28 23:29:54 +0100 <haskellbridge> <Luca> Z/2Z
2025-11-28 23:28:57 +0100 <haskellbridge> <Luca> The xor/and Bool ring is just Z/Z2
2025-11-28 23:23:55 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-28 23:17:31 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-28 23:15:45 +0100Googulator11(~Googulato@84-236-53-137.pool.digikabel.hu) (Quit: Client closed)
2025-11-28 23:15:38 +0100Googulator95(~Googulato@84-236-53-137.pool.digikabel.hu)
2025-11-28 23:14:53 +0100 <EvanR> see + operator in javascript
2025-11-28 23:14:14 +0100 <EvanR> the more things that "work" the less things the compiler can definitely say are nonsense written by a human
2025-11-28 23:12:53 +0100 <Leary> gentauro: It's another case like `Foldable ((,) a)` where the instance makes perfect sense in principle, but in practice a lot of people will complain that the operations don't do what they expected them to, or that their use of the instance was an accident they wanted GHC to catch.
2025-11-28 23:12:47 +0100 <monochrom> You can also get ring-ness with and=times and xor=plus.
2025-11-28 23:12:13 +0100 <monochrom> Yeah "plus" is a very broken analogy for boolean OR. The analogy I use is and=min and or=max. In fact, at that point it is an isomorphism.
2025-11-28 23:05:55 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-28 23:04:34 +0100target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2025-11-28 23:01:21 +0100Googulator11(~Googulato@84-236-53-137.pool.digikabel.hu)
2025-11-28 23:01:05 +0100Googulator11(~Googulato@84-236-53-137.pool.digikabel.hu) (Quit: Client closed)
2025-11-28 22:49:54 +0100infinity0(~infinity0@pwned.gg) infinity0
2025-11-28 22:47:04 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-28 22:46:02 +0100Googulator11(~Googulato@84-236-53-137.pool.digikabel.hu)
2025-11-28 22:45:54 +0100Googulator11(~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed)
2025-11-28 22:36:21 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2025-11-28 22:25:27 +0100infinity0(~infinity0@pwned.gg) (Client Quit)
2025-11-28 22:22:42 +0100infinity0(~infinity0@pwned.gg) infinity0
2025-11-28 22:22:14 +0100infinity0(~infinity0@pwned.gg) (Client Quit)
2025-11-28 22:21:02 +0100infinity0(~infinity0@pwned.gg) infinity0
2025-11-28 22:16:33 +0100Googulator(~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed)
2025-11-28 22:15:48 +0100Googulator11(~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu)
2025-11-28 22:11:46 +0100tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
2025-11-28 22:09:12 +0100 <EvanR> so it's not respecting the booleanness or not respecting the laws of a ring
2025-11-28 22:07:39 +0100 <EvanR> and negative zero is just zero
2025-11-28 22:06:44 +0100 <EvanR> also the concept of negating a bool usually suggests NOT, but negating 1 and perhaps wrapping back to 1 is not that
2025-11-28 22:04:38 +0100Googulator(~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu)
2025-11-28 22:04:10 +0100tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving)
2025-11-28 22:04:10 +0100jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-11-28 22:03:50 +0100 <EvanR> it's more clear the code does what the person intended if you use numbers as numbers
2025-11-28 22:02:46 +0100 <EvanR> but if you tried to add 1 and 1 to get 2... and perhaps wrapped back to zero, now it's not that
2025-11-28 22:02:29 +0100 <EvanR> conventionally the + sign in boolean algebra means OR
2025-11-28 22:01:35 +0100trickard_trickard