Institute for Software Research
School of Computer Science, Carnegie Mellon University


µÆminium Language Specification

Sven Stork, Jonathan Aldrich, Paulo Marques

August 2010


An updated version of this report providing
corrections and clarifications of the typing rules and proof appears as

Keywords: Programming languages, concurrency, access permissions

Writing concurrent applications is extremely challenging, not only in terms of producing bugfree and maintainable software, but also for enabling developer productivity. In this paper we present µÆminium: a core calculus for the µÆminium concurrent-by-default programming language. Using µÆminium programmers express data dependencies rather than control flow between instructions. Dependencies are expressed using permissions, which are used by the type system to automatically parallelize the application. The µÆminium approach provides a modular and composable mechanism for writing concurrent applications, provably preventing data races. This allows programmers to shift their attention from low-level, error-prone reasoning about thread interleaving and synchronization to focus on the core functionality of their applications.

61 pages

Return to: SCS Technical Report Collection
School of Computer Science homepage

This page maintained by