2026/07/06

Newest at the top

2026-07-06 10:43:19 +0000confusedalex(~confuseda@user/confusedalex) (Remote host closed the connection)
2026-07-06 10:38:57 +0000YuutaW(~YuutaW@infornography.yta.moe) YuutaW
2026-07-06 10:38:36 +0000YuutaW(~YuutaW@infornography.yta.moe) (Quit: ZNC 1.10.1 - https://znc.in)
2026-07-06 10:37:09 +0000merijn(~merijn@77.242.116.146) (Ping timeout: 268 seconds)
2026-07-06 10:30:15 +0000merijn(~merijn@77.242.116.146) merijn
2026-07-06 10:25:55 +0000k3ut0i(~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 +0000CiaoSen(~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 +0000eggplantade(~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 +0000merijn(~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 +0000chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-07-06 10:03:46 +0000chromoblob(~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 +0000merijn(~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 +0000comerijn(~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 +0000weary-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 +0000weary-traveler(~user@user/user363627) (Remote host closed the connection)
2026-07-06 09:55:29 +0000eggplantade(~eggplanta@2600:1702:8450:c370:68e2:8150:e673:9bfc) (Ping timeout: 242 seconds)
2026-07-06 09:54:28 +0000 <mauke> "could be worse"