Newest at the top
| 2026-07-06 10:43:19 +0000 | confusedalex | (~confuseda@user/confusedalex) (Remote host closed the connection) |
| 2026-07-06 10:38:57 +0000 | YuutaW | (~YuutaW@infornography.yta.moe) YuutaW |
| 2026-07-06 10:38:36 +0000 | YuutaW | (~YuutaW@infornography.yta.moe) (Quit: ZNC 1.10.1 - https://znc.in) |
| 2026-07-06 10:37:09 +0000 | merijn | (~merijn@77.242.116.146) (Ping timeout: 268 seconds) |
| 2026-07-06 10:30:15 +0000 | merijn | (~merijn@77.242.116.146) merijn |
| 2026-07-06 10:25:55 +0000 | k3ut0i | (~keutoi@182.65.248.188) |
| 2026-07-06 10:15:27 +0000 | <danza> | so i started from https://en.wikipedia.org/wiki/Monoid_(category_theory), got confused, and eventually settled on https://en.wikipedia.org/wiki/Monoid |
| 2026-07-06 10:12:40 +0000 | <danza> | there is just so much talk about category theory in haskell... also fp assumed the terms were stemming from there |
| 2026-07-06 10:11:51 +0000 | <danza> | no, you are right |
| 2026-07-06 10:11:40 +0000 | <int-e> | Hmm but there's nothing categorical in what I wrote. |
| 2026-07-06 10:10:25 +0000 | <danza> | dunno i always understood such classes better as algebras than as categories |
| 2026-07-06 10:10:09 +0000 | <danza> | the difference between a monoid and a semigroup for instance |
| 2026-07-06 10:09:57 +0000 | CiaoSen | (~Jura@2a02:3100:629f:1e00:4e50:ddff:fe9b:8922) CiaoSen |
| 2026-07-06 10:09:48 +0000 | <danza> | but you also need `e` |
| 2026-07-06 10:09:04 +0000 | <int-e> | danza: So it's not as sloppy as it sounds. |
| 2026-07-06 10:08:56 +0000 | <int-e> | danza: Okay, not quite. But if you have a group then you can reconstruct everything from just the binary operation. Like, you know the carrier is non-empty because there is an identity element. So you can pick any element x, then find the identity as the element e satisfying ex = x, and then you get inverses y = x^-1 from solving xy = e. |
| 2026-07-06 10:08:04 +0000 | eggplantade | (~eggplanta@2600:1702:8450:c370:68e2:8150:e673:9bfc) |
| 2026-07-06 10:05:47 +0000 | <int-e> | hmm |
| 2026-07-06 10:05:32 +0000 | <int-e> | danza: you can reconstruct the identity if you have an operation on a non-empty carrier |
| 2026-07-06 10:05:05 +0000 | merijn | (~merijn@77.242.116.146) (Ping timeout: 243 seconds) |
| 2026-07-06 10:04:55 +0000 | <int-e> | danza: it turns out that in programming, a ton of things have a semigroup of monoid structure (often in several different useful ways) but few things are groups |
| 2026-07-06 10:04:52 +0000 | <danza> | can you say "addition is a group"? As far as i understand, a group is an algebra. So it cannot be attributed to a single operation but to a set of operations and terms like neutral ones |
| 2026-07-06 10:04:40 +0000 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
| 2026-07-06 10:03:46 +0000 | chromoblob | (~chromoblo@user/chromob1ot1c) (Ping timeout: 276 seconds) |
| 2026-07-06 10:02:35 +0000 | <int-e> | Monoid existed a long time; Semigroup in base is far more recent |
| 2026-07-06 10:02:02 +0000 | <int-e> | I don't think it exists |
| 2026-07-06 10:01:50 +0000 | <danza> | did you ever use Group in Haskell int-e? Does it even exist? |
| 2026-07-06 10:01:45 +0000 | <jaror> | Yeah, and group from Galois in 1829 |
| 2026-07-06 10:01:26 +0000 | <int-e> | the multiplication is a monoid |
| 2026-07-06 10:01:11 +0000 | <lambdabot> | -42 |
| 2026-07-06 10:01:10 +0000 | <int-e> | danza: Integer has negative numbers; its addition is a group |
| 2026-07-06 10:01:10 +0000 | <mauke> | > negate 42 :: Integer |
| 2026-07-06 10:01:09 +0000 | <danza> | nope i was thinking of Natural but that does not exist |
| 2026-07-06 10:00:51 +0000 | <mauke> | semigroup is from 1904, apparently |
| 2026-07-06 10:00:47 +0000 | <danza> | well integer would not be a Group anyways because it is lacking negative numbers i think? |
| 2026-07-06 10:00:29 +0000 | <yahb2> | type Integer :: * ; data Integer ; = GHC.Internal.Bignum.Integer.IS GHC.Internal.Prim.Int# ; | GHC.Internal.Bignum.Integer.IP GHC.Internal.Prim.ByteArray# ; | GHC.Internal.Bignum.Integer.IN G... |
| 2026-07-06 10:00:29 +0000 | <int-e> | % :i Integer |
| 2026-07-06 10:00:22 +0000 | <int-e> | it needs a space |
| 2026-07-06 09:59:56 +0000 | <danza> | >:i Integer |
| 2026-07-06 09:59:45 +0000 | <danza> | %:i Integer |
| 2026-07-06 09:59:21 +0000 | merijn | (~merijn@77.242.116.146) merijn |
| 2026-07-06 09:59:00 +0000 | <danza> | i never used Group in Haskell. Yet it sounds like an handy concept |
| 2026-07-06 09:58:18 +0000 | comerijn | (~merijn@77.242.116.146) (Ping timeout: 250 seconds) |
| 2026-07-06 09:57:55 +0000 | <jaror> | Like 1956 |
| 2026-07-06 09:57:21 +0000 | <jaror> | It seems monoid is much more recent |
| 2026-07-06 09:56:43 +0000 | weary-traveler | (~user@user/user363627) user363627 |
| 2026-07-06 09:56:43 +0000 | <mauke> | https://commons.wikimedia.org/wiki/File:Magma_to_group4.svg yeah, that's not confusing at all |
| 2026-07-06 09:56:18 +0000 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
| 2026-07-06 09:55:29 +0000 | eggplantade | (~eggplanta@2600:1702:8450:c370:68e2:8150:e673:9bfc) (Ping timeout: 242 seconds) |
| 2026-07-06 09:54:28 +0000 | <mauke> | "could be worse" |