
Am 17.07.2018 um 22:23 schrieb Olaf Klinke:
You could say that every monad harbors a monoid, and that every monoid arises this way. But of course the whole and the part are not the same.
Agreed.
That depends on the definition of "monoid". If a monoid is a set with certain structure, then a monad is not a monoid.
That's the perspective from which I'm looking at abstract data types: A set of values, a set of operations, a set of axioms over the operations and values. Well, that's the textbook definition, there's a lot of data structures that have multiple value sets but still are related through axioms. I just don't know an example of such a structure that it could make it into the textbooks :-) From that perspective, monads and monoids are distinct. Even fundamentally so: Monad axioms have more type parameters than monoid axioms, so they cannot be made isomorphic by clever transformations.
There's also a final argument: If monad and monoid are really the same, why do mathematicians still keep the separate terminology?
Because they are different, as we hopefully agree.
We do :-) Regards, Jo