Monoids: Theme and Variations

Presented on October 19, 2017
Presenter: Lucas

Preview

Last week I presented “Monoids: Theme and Variations” by Brent A. Yorgey. It describes several examples of monoids starting with a set of diagrams that form a monoid under concatenation and constructs the subsequent examples by modifying the first one.

Summary

List of diagrams: - a diagram is a picture - identity is the empty list - concatenation of lists is composition.

Envelopes: - given a diagram, choose a point A in the diagram. Construct all lines closest A that do not intersect the diagram. - Distance from a line L to A is defined as the length of a line segment perpendicular to L that passes through A. - The set of all points in each line closest to A constructs the envelope of a diagram (ends up looking similar to a convex hull but not necessarily convex) - A set of envelopes and the “overlay” function construct a monad where overlay is stacking one envlope over another with their chosen points overlapping.

Transformations: - Transformations on a diagram (rotation, reflection, scaling, translation) and concatenation of transformations form a monoid.

Discussion

Miroslav suggested to learn basic haskell syntax and use the the later sections of the paper in a follow up reading group as those sections were more interesting. We also went over the definition of a monad as well as other examples of monoids.