Monoids and Software Engineering
Universal abstractions are an attempt to mold subjective abstractions into formalized pieces built out of composable mathematical atomic structures that have well defined properties.
The monoid is a humble boring yet powerful entry into the world of universal abstractions for managing complexity in software engineering.
Other than it's well known use case in being a parallel programming abstraction, it forms a vehicle for expressing clean API for configurations, libraries, and the creation of more generic data-structures such as a finger tree.
This talk walks through the basics of what it means for an entity to be a monoid, the operations that comes along with it, how it can reduce cognitive load and how it is used in various software both specific and general cases.
Luke likes playing around with math in hopes of understanding reality and bending reality to his will.