Newest at the top
| 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 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-11-28 23:35:34 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-28 23:35:13 +0100 | <monochrom> | :) |
| 2025-11-28 23:34:58 +0100 | divlamir | (~divlamir@user/divlamir) divlamir |
| 2025-11-28 23:34:45 +0100 | divlamir | (~divlamir@user/divlamir) (Read error: Connection reset by peer) |
| 2025-11-28 23:30:13 +0100 | qqe | (~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 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-11-28 23:17:31 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-28 23:15:45 +0100 | Googulator11 | (~Googulato@84-236-53-137.pool.digikabel.hu) (Quit: Client closed) |
| 2025-11-28 23:15:38 +0100 | Googulator95 | (~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 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-11-28 23:04:34 +0100 | target_i | (~target_i@user/target-i/x-6023099) (Quit: leaving) |
| 2025-11-28 23:01:21 +0100 | Googulator11 | (~Googulato@84-236-53-137.pool.digikabel.hu) |
| 2025-11-28 23:01:05 +0100 | Googulator11 | (~Googulato@84-236-53-137.pool.digikabel.hu) (Quit: Client closed) |
| 2025-11-28 22:49:54 +0100 | infinity0 | (~infinity0@pwned.gg) infinity0 |
| 2025-11-28 22:47:04 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-28 22:46:02 +0100 | Googulator11 | (~Googulato@84-236-53-137.pool.digikabel.hu) |
| 2025-11-28 22:45:54 +0100 | Googulator11 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-11-28 22:36:21 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds) |
| 2025-11-28 22:25:27 +0100 | infinity0 | (~infinity0@pwned.gg) (Client Quit) |
| 2025-11-28 22:22:42 +0100 | infinity0 | (~infinity0@pwned.gg) infinity0 |
| 2025-11-28 22:22:14 +0100 | infinity0 | (~infinity0@pwned.gg) (Client Quit) |
| 2025-11-28 22:21:02 +0100 | infinity0 | (~infinity0@pwned.gg) infinity0 |
| 2025-11-28 22:16:33 +0100 | Googulator | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-11-28 22:15:48 +0100 | Googulator11 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) |
| 2025-11-28 22:11:46 +0100 | tcard | (~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 +0100 | Googulator | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) |
| 2025-11-28 22:04:10 +0100 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving) |
| 2025-11-28 22:04:10 +0100 | jmcantrell | (~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 +0100 | trickard_ | trickard |
| 2025-11-28 22:00:40 +0100 | target_i | (~target_i@user/target-i/x-6023099) target_i |
| 2025-11-28 21:54:38 +0100 | <geekosaur> | map fronEnum |
| 2025-11-28 21:53:25 +0100 | <ncf> | no |
| 2025-11-28 21:46:21 +0100 | <gentauro> | Would it make sense that `Bool` had an instance of `Num`? I mean a mapping from `[True, False]` to `[1,0]`? |
| 2025-11-28 21:44:44 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |