License: Creative Commons Attribution 4.0 International license (CC BY 4.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ECOOP.2021.13
URN: urn:nbn:de:0030-drops-140565
Go to the corresponding LIPIcs Volume Portal

Rau, Ohad ; Voss, Caleb ; Sarkar, Vivek

Linear Promises: Towards Safer Concurrent Programming

LIPIcs-ECOOP-2021-13.pdf (1.0 MB)


In this paper, we introduce a new type system based on linear typing, and show how it can be incorporated in a concurrent programming language to track ownership of promises. By tracking write operations on each promise, the language is able to guarantee exactly one write operation is ever performed on any given promise. This language thus precludes a number of common bugs found in promise-based programs, such as failing to write to a promise and writing to the same promise multiple times. We also present an implementation of the language, complete with an efficient type checking algorithm and high-level programming constructs. This language serves as a safer platform for writing high-level concurrent code.

BibTeX - Entry

  author =	{Rau, Ohad and Voss, Caleb and Sarkar, Vivek},
  title =	{{Linear Promises: Towards Safer Concurrent Programming}},
  booktitle =	{35th European Conference on Object-Oriented Programming (ECOOP 2021)},
  pages =	{13:1--13:27},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-95977-190-0},
  ISSN =	{1868-8969},
  year =	{2021},
  volume =	{194},
  editor =	{M{\o}ller, Anders and Sridharan, Manu},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{},
  URN =		{urn:nbn:de:0030-drops-140565},
  doi =		{10.4230/LIPIcs.ECOOP.2021.13},
  annote =	{Keywords: promises, type systems, linear typing, operational semantics, concurrency}

Keywords: promises, type systems, linear typing, operational semantics, concurrency
Collection: 35th European Conference on Object-Oriented Programming (ECOOP 2021)
Issue Date: 2021
Date of publication: 06.07.2021
Supplementary Material: Software (Source Code): archived at:
Software (ECOOP 2021 Artifact Evaluation approved artifact):

DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI