The F# Asynchronous Programming Model

Donald Syme, Tomas Petricek, and Dmitry Lomov

Abstract

We describe the asynchronous programming model in F#, and its applications to reactive, parallel and concurrent programming. The key feature combines a core language with a non-blocking modality to author lightweight asynchronous tasks, where the modality has control flow constructs that are syntactically a superset of the core language and are given an asynchronous semantic interpretation. This allows smooth transitions between synchronous and asynchronous code and eliminates callback-style treatments of inversion of control, without disturbing the foundation of CPU-intensive programming that allows F# to interoperate smoothly and compile efficiently to .NET and native code.

Details

Publication typeInproceedings
Published inIn Proceedings of Principles and Applications of Declarative Languages, 2011
URLhttp://tomasp.net/academic/papers/async/
PublisherACM SIGPLAN
> Publications > The F# Asynchronous Programming Model