The Free Monad, is a versatile tool. Free can be used to derive a cons list from a pair, make stack overflows disappear in your Scala code and importantly (for this presentation) can be used as a tool to decompose programs into little languages and interpreters that run those languages. This presentation will step through a basic implementation of Free and an example using Free to eliminate IO.
This talk was presented at the Functional Programming Sydney user group.
[ deck ]