18th March 2011 in London at Skills Matter

There are 16 other SkillsCasts available from Functional Programming eXchange 2011

Please log in to watch this conference skillscast.

136245543 640

Server-side applications are interesting because they concurrently handle multiple requests in parallel. On systems where threads are expensive, it is important to do this without unnecessary blocking of system threads. In this talk, we'll look how to use F# synchronous workflows to implement a simple web server.

Asynchronous workflows is a feature (based on the concept of monad) that make it possible to use all standard F# language constructs in an asynchronous computation that can be blocked and resumed without blocking actual physical thread. We'll also look how to use agent-based design in F# to implement safe concurrency and share state between clients without facing the usual shared memory concurrency issues. The combination of functional programming, asynchronous workflows and agent-based design leads to server-side applications that are not only efficient, but also easy to understand and fun to write.


F# on the server-side

Tomas Petricek

Tomas is a computer scientist and open-source developer. He is a Visiting Researcher at the Alan Turing Institute working on tools for open data-driven storytelling. He wrote a popular book called "Real-World Functional Programming" and is a lead developer of several F# open-source libraries.