4 ms·
For those that like SICP, the picture language in section 2.2.4 describes a monoid, though they don't call it that because the term hadn't yet been adopted. Ev
by davexunit 9y ago
For those that like SICP, the picture language in section 2.2.4 describes a monoid, though they don't call it that because the term hadn't yet been adopted. Even so, I found it very helpful in understanding what all the monoid literature was going on about because I'm much more familiar with Lisp than I am statically typed ML-family languages.
http://sarabander.github.io/sicp/html/2_002e2.xhtml#g_t2_002e2_002e4 http://sarabander.github.io/sicp/html/2_002e2.xhtml#g_t2_002...
- umanwizard 9y agoThe word "monoid" has been used with its current meaning since the 50s, maybe before. I think the authors of SICP didn't describe the picture language as such because it just isn't a very useful concept, not because they didn't know the word.
- davexunit 9y agoIt wasn't a term used in computer science then. Gerald Sussman himself said this about the term "monad" in one of his talks.
- kazinator 9y agoA monoid is just an algebraic group which is missing the concept of the inverse element. This has been gutted out of the group so that the category theorists can then see monoids in situations where they would otherwise have to rack their brains to come up with the inverse operation. https://en.wikipedia.org/wiki/Group_(mathematics)#Definition https://en.wikipedia.org/wiki/Group_(mathematics)#Definition For instance, the set of character strings and the catenate operation are almost a group. The identity element is the empty string. Closure holds: if a and b are strings, (cat a b) is a string. Associativity holds : (cat a (cat b c)) is (cat (cat a b) c). (Which is then just (cat a b c) to a Lisp programmer, (cat a) is a, and (cat) produces the empty string.) Identity element: empty string. (cat a "") -> a Inverse element: oops! We would have to postulate some sort of "negative string" so that (cat "abc" -"abc") produces "". Then we have the problem of what is (cat "abc" -"xyz"): the combination of a string and the inverse element of a different string. Let's not bother; just drop this axiom and call it a "monoid".