F# is a succinct and expressive typed functional programming language in the context of a modern, applied software development environment (.NET), and Microsoft will be supporting F# as a first class language in Visual Studio 2010. F# makes three primary contributions to parallel, asynchronous and reactive programming in the context of a VM-based platform such as .NET:

(a) functional programming greatly reduces the amount of explicit mutation used by the programmer for many programming tasks

(b) F# includes a powerful "async" construct for compositional reactive and parallel computations, including both parallel I/O and CPU computations, and

(c) "async" enables the definition and execution of lightweight agents without an adjusted threading model on the virtual machine.

In this talk, we will look at F# in general, including some general coding, and take a deeper look at each of these contributions and why they matter