SkillsCast

The Haxl Project at Facebook

9th October 2013 in London at The Crypt, St James Church Clerkenwell

There are 7 other SkillsCasts available from Haskell eXchange 2013

Please log in to watch this conference skillscast.

451370388 640

This talk describes a system that we're building using Haskell that allows the front-end programmer writing business logic to access all the back-end services in a concise and consistent way, while the system handles batching and overlapping of requests to multiple data sources behind the scenes.

Writing code in an environment as large and complex as Facebook involves talking to many different back-end services, including databases, search engines, caches, and so forth. Each of these data sources has different characteristics and requires different access patterns to make best use of its resources.

Typical front-end code will need to access many of these resources concurrently, but the programmer doesn't want to be concerned with the details of how best to access each resource. Moreover, we want to be able to write our code in a modular way and yet have concurrent accesses to the back-end services automatically batched and overlapped for us.

This talk describes a system that we're building using Haskell that allows the front-end programmer writing business logic to access all the back-end services in a concise and consistent way, while the system handles batching and overlapping of requests to multiple data sources behind the scenes. The programming model is one of implicit concurrency: there's no fork or async operation, all external data access is implicitly performed in parallel where possible.

The Haxl Project at Facebook

Simon Marlow

Simon Marlow has been a prominent figure in the Haskell community for many years. He is the author of large parts of the Glasgow Haskell Compiler, including in particular its highly regarded mulitcore runtime system, along with many of the libraries