Scala for Multicore

In this series of lectures, I'll introduce several approaches to parallel and concurrent programming in Scala. We'll begin with an introduction to Scala's actors library which combines event-based and thread-based models of concurrency. Using a novel type system extension based on static capabilities, we'll show how actor isolation and race freedom is enforced. We'll also show how to provide custom type system extensions as plugins for the Scala compiler. In addition to our detailed treatment of Scala actors, we'll also cover other approaches to parallel programming in Scala such as parallel collections and parallel embedded domain-specific languages (DSLs). The talk concludes with an outlook of possible future directions of Scala for multi-core programming.

New:

Actors in Scala, 2011. Written by Philipp Haller and Frank Sommers. The definitive guide, covering Scala Actors and Akka.

Other Topics Covered in the Talks

Parallel Collections: Watch Alex Prokopec present Scala 2.9's new parallel collections at Scala eXchange, on June 15, 2011. Or, take a look at his technical report.

Uniqueness Types: See the Capabilities for Uniqueness and Borrowing page for many more resources on uniqueness types, instructions on how to obtain and compile the experimental Scala compiler plug-in, as well as the ECOOP 2010 paper, slides, and a techinical report on the subject. For more details related to concurrency not found in the above link/papers, see Philipp's PhD thesis.