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 …