
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Sunday, December 5th, 2021 at 8:53 AM, Tony Zorman
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. As the examples I presented above show, even stating that function composition is an endomorphism of Endo a (endofunctions) seems incorrect.