I’ve been floating around at the periphery of functional programming for years, but besides some Scheme and Lisp in college, I haven’t seriously written functional code.

You’d think I would have picked up and internalized some of the FP lingo by now, but somehow I still didn’t understand monads and monoids, not to mention functors, adjunctions, and categories.

So, naturally, I did what I love to do when I want to go deep into a topic: I joined a study group focused on category theory! We decided to read through Seven Sketches in Compositionality, reading ~10-15 pages each week1. It’s been great to be able to discuss the text and review exercises each week, especially because category theory is really self-referential (unlike other areas of math I’ve worked in), so it can get confusing quick.

After finishing through chapter four, we decided to switch to reading Emily Riehl’s Category Theory in Context, which hilariously defined categories on page 1, whereas the Seven Sketches had waited 3 chapters and 80+ pages to do so!

Now that I know what a functor is (and the other stuff), I’m also hoping to incorporate more FP into my work.

  1. There’s now a class corresponding to this book! If we were to begin the study group now, we probably would have followed the course contents and youtube lectures.