A concurrent lambda calculus with futures

We introduce a new lambda calculus with futures, λ ( fut ) , that models the operational semantics of concurrent statically typed functional programming languages with mixed eager and lazy threads such as Alice ML, a concurrent extension of Standard ML. λ ( fut ) is a minimalist extension of the cal...

Full description

Saved in:
Bibliographic Details
Published in:Theoretical computer science Vol. 364; no. 3; pp. 338 - 356
Main Authors: Niehren, J., Schwinghammer, J., Smolka, G.
Format: Journal Article Conference Proceeding
Language:English
Published: Amsterdam Elsevier B.V 08.11.2006
Elsevier
Subjects:
ISSN:0304-3975, 1879-2294
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:We introduce a new lambda calculus with futures, λ ( fut ) , that models the operational semantics of concurrent statically typed functional programming languages with mixed eager and lazy threads such as Alice ML, a concurrent extension of Standard ML. λ ( fut ) is a minimalist extension of the call-by-value λ -calculus that is sufficiently expressive to define and combine a variety of standard concurrency abstractions, such as channels, semaphores, and ports. Despite its minimality, the basic machinery of λ ( fut ) is sufficiently powerful to support explicit recursion and call-by-need evaluation. We present a static type system for λ ( fut ) and distinguish a fragment of λ ( fut ) that we prove to be uniformly confluent. This result confirms our intuition that reference cells are the sole source of indeterminism. This fragment assumes the absence of so called handle errors that violate the single assignment assumption of λ ( fut ) 's handled future-construct. Finally, we present a linear type system for λ ( fut ) by which to prove the absence of handle errors. Our system is rich enough to type definitions of the above mentioned concurrency abstractions. Consequently, these cannot be corrupted in any (not necessarily linearly) well-typed context.
ISSN:0304-3975
1879-2294
DOI:10.1016/j.tcs.2006.08.016