Monoids: Theme and Variations (Functional Pearl)
Loading...
Penn collection
Departmental Papers (CIS)
Degree type
Discipline
Subject
monoid
homomorphism
monoid action
EDSL
Programming Languages and Compilers
Software Engineering
Theory and Algorithms
homomorphism
monoid action
EDSL
Programming Languages and Compilers
Software Engineering
Theory and Algorithms
Funder
Grant number
License
Copyright date
Distributor
Related resources
Author
Contributor
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.
Advisor
Date of presentation
2012-07-01
Conference name
Departmental Papers (CIS)
Conference dates
2023-05-17T07:18:07.000