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:
Slides from NDC London, Jan 18, 2017
Video from NDC London, Jan 18, 2017. Apologies for the orange color cast!