"The argument that Monoid should be called something else (maybe Appendable) is about as convincing as the proposition that a Group should be Clock.
A clock in a contrived sense can be considered a group and perhaps
helps with some initial intuition, but the term is ultimately
misleading. Similarly, if one expects that all constructs in
programming be modeled on everyday concepts one will eventually hit up
against the limitations of everyday experience to model higher
abstractions. We would never arrive at complex numbers by counting
scratches on a clay tablet, nor would we come up with Galois theory or
elliptic curve cryptography by considering groups purely in terms of
clocks."
Great article.
http://www.stephendiehl.com/posts/abstraction.html
Great article.
http://www.stephendiehl.com/posts/abstraction.html