
On Sun, Dec 05, 2021 at 03:24:13PM +0000, Adrian via Haskell-Cafe wrote:
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Sunday, December 5th, 2021 at 8:53 AM, Tony Zorman
wrote: On Sun, Dec 05 2021 14:39, Adrian via Haskell-Cafe wrote:
According to Algebra [Hungerford 74], an endomorphism is an
endofunction that is a homomorphism. A set of endomorphisms is quite
distinct from a set of endofunctions in this regard.
What counts as a "homomorphism" is very dependent on the context that
you're in. Here, we are not studying some exotic algebraic structure,
but really just functions over a set. In particular, "(homo)morphism"
becomes an alias for "function".
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]:
A monoid homomorphism is a function from one monoidal type to another which preserves monoid structure; that is, a function f satisfying the laws:
f ε = ε f (x <> y) = f x <> f y
So again, given that the context is the Data.Monoid library, it seems much more appropriate to say that Endo a forms a monoid of endofunctions under composition.
Yes, I agree that would be a clarifying rewrite, avoiding a clash of terminology.