Monoids: Theme and Variations
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.