Typeclasses: the value of programming vocabulary

Monoids, Applicatives, Monads and Semigroups. What are these things?

Much more importantly, however, why should one care?

Elixir programmers are blessed with a language that allows them to be productive, seemingly without needing to reach for these arcane spells. And yet, for building architectures we have spells like "GenServer" and "Supervisor", among others.

Maybe we can find useful tools in the ivory tower of Haskell?


  • Introduce the concept of typeclasses to the uninitiated.
  • Inspire a sense of marvel over the kaleidoscope of ways to categorize things. 
  • Lead the audience to a library that lets them explore typeclasses in Elixir (https://github.com/expede/witchcraft).
  • Inspire the audience to seek out the words that are useful for describing their everyday work.


Programmers primarily experienced in dynamically typed languages, who are curious about the alleged benefits of the contraptions that they make up in the ivory tower of Haskell.