Monoids: theme and variations <i>(functional pearl)</i>

Authors:
Brent A. Yorgey
Published:
ACM SIGPLAN Notices, volume 47, issue 12, pp. 105-116. September 13, 2012.
Other Versions: Abstract:

The monoid is a humble algebraic structure, at first glance even downright boring. However, there's much more to monoids than meets the eye. Using examples taken from the diagrams vector graphics framework as a case study, I demonstrate the power and beauty of monoids for library design. The paper begins with an extremely simple model of diagrams and proceeds through a series of incremental variations, all related somehow to the central theme of monoids. Along the way, I illustrate the power of compositional semantics; why you should also pay attention to the monoid's even humbler cousin, the semigroup ; monoid homomorphisms; and monoid actions.

BibTeX:
@article{yorgey2012,
  title = {{Monoids}},
  author = {Brent A. Yorgey},
  journal = {ACM SIGPLAN Notices},
  volume = {47},
  issue = {12},
  year = 2012,
  month = 9,
  day = 13,
  doi = {10.1145/2430532.2364520},
}