Back to futures

5Citations
Citations of this article
8Readers
Mendeley users who have this article in their library.

Abstract

Common approaches to concurrent programming begin with languages whose semantics are naturally sequential and add new constructs that provide limited access to concurrency, as exemplified by futures. This approach has been quite successful, but often does not provide a satisfactory theoretical backing for the concurrency constructs, and it can be difficult to give a good semantics that allows a programmer to use more than one of these constructs at a time. We take a different approach, starting with a concurrent language based on a Curry-Howard interpretation of adjoint logic, to which we add three atomic primitives that allow us to encode sequential composition and various forms of synchronization. The resulting language is highly expressive, allowing us to encode futures, fork/join parallelism, and monadic concurrency in the same framework. Notably, since our language is based on adjoint logic, we are able to give a formal account of linear futures, which have been used in complexity analysis by Blelloch and Reid-Miller. The uniformity of this approach means that we can similarly work with many of the other concurrency primitives in a linear fashion, and that we can mix several of these forms of concurrency in the same program to serve different purposes.

References Powered by Scopus

Language primitives and type discipline for structured communication-based programming

663Citations
N/AReaders
Get full text

Types for dyadic interaction

339Citations
N/AReaders
Get full text

Subtyping for session types in the pi calculus

316Citations
N/AReaders
Get full text

Cited by Powered by Scopus

Adjoint Natural Deduction

3Citations
N/AReaders
Get full text

Relating Message Passing and Shared Memory, Proof-Theoretically

3Citations
N/AReaders
Get full text

Session Fidelity for ElixirST: A Session-Based Type System for Elixir Modules

3Citations
N/AReaders
Get full text

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Cite

CITATION STYLE

APA

PRUIKSMA, K., & PFENNING, F. (2022). Back to futures. Journal of Functional Programming, 32(10). https://doi.org/10.1017/S0956796822000016

Readers over time

‘13‘17‘20‘2202468

Readers' Seniority

Tooltip

PhD / Post grad / Masters / Doc 3

100%

Readers' Discipline

Tooltip

Computer Science 2

33%

Linguistics 2

33%

Design 1

17%

Decision Sciences 1

17%

Save time finding and organizing research with Mendeley

Sign up for free
0