Thirteen ways of looking at a Turtle - Scott Wlaschin
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! If you're an FP-curious developer, I hope this will be a useful way to get an quick overview of functional programming in practice.
January 16, 2017