This page contains links to the slides and code from my talk “Thirteen ways of looking at a turtle”.

Here’s the blurb for the talk:

In this fast-paced talk, I’ll start with the well known API for turtle graphics, and then stretch it to the breaking point by creating 13 different implementations, each demonstrating a different functional programming technique.

Along the way, we’ll use partial application, functional dependency injection, validation with Success/Failure results, the Either monad, the State monad, agents with message queues, event sourcing, stream processing, capability-based design, and the interpreter pattern (aka free monad). Phew!

This talk is based on my blog posts on this topic:


Video from NDC London, Jan 18, 2017. Apologies for the orange color cast!

NDC London, Jan 18, 2017


Slides from NDC London, Jan 18, 2017

Thirteen ways of looking at a turtle from my slides on Slideshare


blog comments powered by Disqus