News for hackers. Stuff that matters.
Re:A monoid is a category, a category is a monad, a monad is... by krick on Sunday April 16, 2017 @09:50PM (#14128739)
There's interesting table on wikipedia's Category[0] page, listing group-like structures. It is easy to find useful example of Abel group and useful example of Group which is not Abel group (say, string concatenation with negation defined as ab - b = a), but while I clearly understand definition of monoid, I cannot think of any useful example of monoid which is not group.

Can somebody help with examples for the rest of structures? Additionally, it seems I don't really get concept of totality. I get what "total function" is, but what does this column really constraint in the context of different structures? I mean, what is a structure that lacks this "totality" thing?

https://en.wikipedia.org/wiki/Category_(mathematics)

Re:A monoid is a category, a category is a monad, a monad is... by nwjtkjn on Sunday April 16, 2017 @09:57PM (#14128765)
The natural numbers {0, 1, 2, ...} under addition are an example of a monoid which is not a group. Another example is natural numbers under multiplication.

An example which may speak to a programmer more: the set of functions which take a 32-bit int as argument and return a 32-bit int, where the operation is composition of functions. The identity is the identity function. Since not all functions are invertible, this monoid is not a group.

Re:A monoid is a category, a category is a monad, a monad is... by krick on Sunday April 16, 2017 @11:10PM (#14128997)
Oh, silly me, of course, negation must be defined for every pair of elements. Ok, it's pretty clear about monoids (even though actually it would be better if there was an example, where no "natural" inversion exists at all). But what about everything else in the table? Especially I'm interested in magma which is not a semigroup and groupoid which is not a group.
Re:A monoid is a category, a category is a monad, a monad is... by nimih on Monday April 17, 2017 @05:17PM (#14134484)
Binary trees, with the operation being to join two trees at the root, form a magma which should quite clearly be non-associative (and thus not a semigroup).

There are of course other examples of sets equipped with non-associative binary operations (for example, 3-dimensional vectors with the cross product), but those typically have extra structure that you will want to exploit which "non-associative magma" cannot capture, and talking about them as magmas will probably feel somewhat artificial unless you have a good reason for ignoring all that structure.

Re:A monoid is a category, a category is a monad, a monad is... by nwjtkjn on Tuesday April 18, 2017 @08:16PM (#14144332)
FWIW, I always thought giving the concept of "magma" its own word was a bit silly.