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 fsharpforfunandprofit.com.
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
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