Scott Wlaschin

Scott Wlaschin is a .NET developer, architect and author. He has over 20 years experience in a wide variety of areas from high-level UX/UI to low-level database implementations. He loves learning programming languages, his favorites being Smalltalk, but also Prolog, Python, and more recently, F#, which he blogs about at

NewCrafts 2017


Thirteen ways of looking at a Turtle

  • talk
  • Functional
  • Practices

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.

Room: Lovelace - Time: 5/18/2017 3:00:00 PM


Understanding parser combinators

  • talk
  • Functional
  • Code

Traditionally, writing parsers has been hard, involving arcane tools like Lex and Yacc. An alternative approach is to write a parser in your favourite programming language, using a parser combinator library and concepts no more complicated than regular expressions.

In this talk, we'll do a deep dive into parser combinators. We'll build a parser combinator library from scratch in F# using functional programming techniques, and then use it to implement a full featured JSON parser.

Room: Liskov - Time: 5/19/2017 5:00:00 PM