[Haskell-cafe] Endo a, endomorphisms
Tony Zorman
tonyzorman at mailbox.org
Sun Dec 5 15:56:59 UTC 2021
On Sun, Dec 05 2021 15:24, Adrian wrote:
> I note that in the paper "Monoid: Theme and Variations" [Yorgey 2012],
> a monoid homomorphism is defined in a manner consistent with the
> definitions found in Algebra [Hungerford 74]:
That is definitely true, but we are not talking about monoid
endomorphisms, we are talking about endomorphisms _over a set_ that
happen to form a monoid. Endomorphisms over a monoid M certainly need
to be compatible with the monoid structure on M, but this is orthogonal
to the present question.
When `Endo` talks about endomorphisms, it means endomorphisms over the
type (think: the set) `a`. More specifically, for any set X we can talk
about all functions f: X → X. These are called "endomorphisms" even
though they are only functions, because that's exactly what a
homomorphism of a set is.
The point of `Endo` being in Data.Monoid is that function composition of
endomorphisms forms a monoid (with the identity element being the
identity morphism) regardless of the underlying structure—be that a set,
a monoid, a group, ...
More information about the Haskell-Cafe
mailing list