Free Monads

Resources on learning free monads

Here are some resources about the free monad in scala . At some point I need to write summaries for each entry :)

Blog posts

Free Monads I had bookmarked this sometime ago and seems to be very to the point without a lot of theotitical analysis

Free Monad - Cats Documentation by Pascal Voitot

herding cats - Free monads by Eugene Yokota

Deriving the Free Monad by Noel Welsh

Free Monads Are Simple by Noel Welsh

Free Monads, Part One by Timothy Perrett

On Free Monads by Pere Villega

Free Monads using FreeK by Pere Villega

Freek, a freaky simple Free to combine your DSL seamlessly by Pascal Voitot

Haskell GADTs in Scala by Sean Seefried

Alternatives to GADTs in Scala by Paul Chiusano

Invasion of the Monad Transformers

Video talks

The Interpreter Pattern Revisited by Rúnar Bjarnason

Composable application architecture with reasonably priced monads by Rúnar Bjarnason - slides code

A Year living Freely by Chris Myers

Run free with the monads: Free Monads for fun and profit by Ken Scambler

Move Over Free Monads: Make Way for Free Applicatives! by John De Goes

Free Monads and Free Applicatives by Markus Hauck

Why The Free Monad isn’t Free by Kelley Robinson


MonsantoCo/stoop A Scala DSL for interfacing with CouchDB.

tpolecat/doobie principled database access for scala In Programs as Values Rob Norris explains how to create an algebra with free monads for safe dB access.


underscoreio/scalax15-interpreters Slides and companion material for the Scala Interpreters workshop from Scala Exchange 2015.


jdegoes/FreeMonad.scala A pedagogical free(er) monad in 23 lines of Scala