Monoids: Theme and Variations (Functional Pearl)

Loading...
Thumbnail Image

Related Collections

Degree type

Discipline

Subject

monoid
homomorphism
monoid action
EDSL
Programming Languages and Compilers
Software Engineering
Theory and Algorithms

Funder

Grant number

License

Copyright date

Distributor

Related resources

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

Conference location

Date Range for Data Collection (Start Date)

Date Range for Data Collection (End Date)

Digital Object Identifier

Series name and number

Volume number

Issue number

Publisher

Publisher DOI

relationships.isJournalIssueOf

Comments

Recommended citation

Collection