CMU-ISR-10-125
Institute for Software Research
School of Computer Science, Carnegie Mellon University



CMU-ISR-10-125

µÆminium Language Specification

Sven Stork, Jonathan Aldrich, Paulo Marques

August 2010

CMU-ISR-10-125.pdf

An updated version of this report providing
corrections and clarifications of the typing rules and proof appears as
CMU-ISR-10-125R.pdf


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 [email protected]