TP

The F# Asynchronous Programming Model

Don Syme, Tomas Petricek and Dmitry Lomov

In Proceedings of PADL 2011

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. An adapted version of this approach has recently been announced for a future version of C#.

Paper and more information

Bibtex

If you want to cite the paper, you can use the following BibTeX information, or get full details from the paper page on ACM.

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
@inproceedings{async-padl11,
  author    = {Syme, Don and Petricek, Tomas and Lomov, Dmitry},
  title     = {The {F}\# {A}synchronous {P}rogramming {M}odel},
  booktitle = {Proceedings of Practical Aspects of Declarative Languages},
  series    = {PADL 2011},
  location  = {Austin, TX, USA},
  year      = {2011}
}

If you have any comments, suggestions or related ideas, I'll be happy to hear from you! Send me an email at tomas@tomasp.net or get in touch via Twitter at @tomaspetricek.

Published: Tuesday, 18 January 2011, 12:00 AM
Author: Tomas Petricek
Typos: Send me a pull request!