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
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2021/14056/
Rau, Ohad ;
Voss, Caleb ;
Sarkar, Vivek
Linear Promises: Towards Safer Concurrent Programming
Abstract
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
@InProceedings{rau_et_al:LIPIcs.ECOOP.2021.13,
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 = {https://drops.dagstuhl.de/opus/volltexte/2021/14056},
URN = {urn:nbn:de:0030-drops-140565},
doi = {10.4230/LIPIcs.ECOOP.2021.13},
annote = {Keywords: promises, type systems, linear typing, operational semantics, concurrency}
}