Hostname: page-component-586b7cd67f-vdxz6 Total loading time: 0 Render date: 2024-11-24T02:47:49.825Z Has data issue: false hasContentIssue false

The semantics of future and an application

Published online by Cambridge University Press:  01 January 1999

C. FLANAGAN
Affiliation:
Rice University, 6100 Main Street, Houston, TX 77005-1892, USA
M. FELLEISEN
Affiliation:
Rice University, 6100 Main Street, Houston, TX 77005-1892, USA
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

The future annotation of MultiLisp provides a simple method for taming the implicit parallelism of functional programs. Prior research on future has concentrated on implementation and design issues, and has largely ignored the development of a semantic characterization of future. This paper considers an idealized functional language with futures and presents a series of operational semantics with increasing degrees of intensionality. The first semantics defines future to be a semantically transparent annotation. The second semantics interprets a future expression as a potentially parallel task. The third semantics explicates the coordination of parallel tasks by introducing placeholder objects and touch operations.

We use the last semantics to derive a program analysis algorithm and an optimization algorithm that removes provably redundant touch operations. Experiments with the Gambit compiler indicate that this optimization significantly reduces the overhead imposed by touch operations.

Type
Research Article
Copyright
© 1999 Cambridge University Press
Submit a response

Discussions

No Discussions have been published for this article.