Our programming languages are usually "sequential by default", and you have to be explicit if you want concurrency. Much of the code we write, however, is insensitive to reordering, and in these cases concurrency is actually a better default. In this talk I'll describe how the Haxl framework developed and open-sourced by Facebook flips the default from sequential to concurrent. I'll show how that can be useful, and give some insight into how it works.
It turns out that the pieces we need to do concurrency-by-default also help with testing and debugging, which makes Haxl something of a Big Hammer for solving problems involving I/O and concurrency.
Simon Marlow is a Software Engineer on Facebook’s Abuse Detection Systems team in London. He works on Sigma, a Haskell-based platform used by the teams fighting spam, malware, and other types of abuse on Facebook. Simon is a co-author of the Glasgow Haskell Compiler, author of the book “Parallel and Concurrent Programming in Haskell”, and has a string of research publications in functional programming, language design, compilers, and language implementation.
Github: simonmar
Twitter: @simonmar