Past Meetup

Lorenzo López: Practical uses of Monoids

This Meetup is past

41 people went

Every last Tuesday of the month

Location visible to members



In this talk we'll find out who monoids (and their related siblings semigroups) are, why are they useful and how do we can simplify our code through them.

The goal is also to demystify category theory and show that you don't have to be a mathematician to take advantage of it.

The code examples will be done on Haskell but the examples can be easily applied to other functional languages like PureScript, Scala or F#.

Requirements: Knowledge of Haskell basic syntax.


* Monoids and semigroups: Definition
* Programming without monoids: example
* Basic implementation of monoids
* Pros of using monoids
* Type refactoring using monoids
* Monoid homomorphisms
* Using monoids over non monoidal types
* Free monoid
* Simplyfying architecture through monoids

The approach will be mainly practical.


CTO, architect and developer with 20 years of experience in IT. I've worked with all kinds of companies like El Corte Ingles, Tesco, MTV or L'oreal.

My work gravitates mainly developing app backends both designing and developing APIs or architecting.

I am an enthusiastic advocate of functional programming with special interest in Haskell. For the last 2 years I've been helping organize Madrid Haskell Meetup (HaskellMAD)

I've been always fascinated by cryptography and lately I've been studying the world of cryptocurrencies (bitcoin, ...).


We have set up a collaboration with Prosa, who generously offered to provide a location for our regular meetups. Please see Prosa's Calendar for more details: Prosa Calendar (

The ADA meeting room fits about 25 people and if we need more space, we can use the canteen (PASCAL), which has a capacity of at most 50 (fire regulation).


Ramón and Joakim