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: 
 9: 
10: 
11: 
12: 
13: 
@inproceedings{syme-2011-async,
  author    = {Don Syme and Tomas Petricek and Dmitry Lomov},
  title     = {The F{\#} Asynchronous Programming Model},
  booktitle = {Practical Aspects of Declarative Languages - 13th
               International Symposium, {PADL} 2011, Austin, TX, USA,
               January 24-25, 2011. Proceedings},
  series    = {Lecture Notes in Computer Science},
  volume    = {6539},
  pages     = {175--189},
  publisher = {Springer},
  year      = {2011},
  doi       = {10.1007/978-3-642-18378-2\_15}
}

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 BlueSky at @tomasp.net.

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