The semantics of Scheme with future

We present the formal semantics of future in a Scheme-like language which has both side-effects and first-class continuations. Correctness is established by proving that programs annotated by future have the same observable behaviour as their non-annotated counterparts, even though evaluation may be parallel.

[1]  Marc Feeley,et al.  An efficient and general implementation of futures on large scale shared-memory multiprocessors , 1993 .

[2]  Nevin Heintze,et al.  Set-based analysis of ML programs , 1994, LFP '94.

[3]  Pete Tinker,et al.  Parallel execution of sequential scheme with ParaTran , 1988, LISP and Functional Programming.

[4]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

[5]  Luc Moreau,et al.  Correctness of a Distributed-Memory Model for Scheme , 1996, Euro-Par, Vol. I.

[6]  D. H. Bartley,et al.  Revised4 report on the algorithmic language scheme , 1991, LIPO.

[7]  Luc Moreau,et al.  The Semantics of pcall and fork in the Presence of First-Class Continuations and Side-Effects , 1995, PSLS.

[8]  Daniel Weise,et al.  Continuing Into the Future: On the Interaction of Futures and First-Class Continuations , 1989, Workshop on Parallel Lisp.

[9]  Takayasu ITO,et al.  A Parallel Lisp Language PaiLisp and Its Kernel Specification , 1989, Workshop on Parallel Lisp.

[10]  Matthias Felleisen,et al.  The semantics of future and its use in program optimization , 1995, POPL '95.

[11]  Matthias Felleisen,et al.  A Reduction Semantics for Imperative Higher-Order Languages , 1987, PARLE.

[12]  Robert Hieb,et al.  The Revised Report on the Syntactic Theories of Sequential Control and State , 1992, Theor. Comput. Sci..

[13]  Carl Hewitt,et al.  The incremental garbage collection of processes , 1977, Artificial Intelligence and Programming Languages.

[14]  Robert H. Halstead,et al.  Lazy task creation: a technique for increasing the granularity of parallel programs , 1990, LISP and Functional Programming.

[15]  Amr Sabry,et al.  The formal relationship between direct and continuation-passing style optimizing compilers - a synthesis of two paradigms , 1996, Rice COMP TR.

[16]  M. Felleisen,et al.  Reasoning about programs in continuation-passing style , 1993 .

[17]  Luc Moreau Non-Speculative and Upward Invocation of Continuations in a Parallel Language , 1995, TAPSOFT.

[18]  Robert H. Halstead,et al.  New Ideas in Parallel Lisp: Language Design, Implementation, and Programming Tools , 1989, Workshop on Parallel Lisp.

[19]  MoreauLuc The semantics of Scheme with future , 1996 .

[20]  Luc Moreau,et al.  The PCKS-Machine: An Abstract Machine for Sound Evaluation of Parallel Functional Programs with First-Class Continuations , 1994, ESOP.

[21]  Pierre Jouvelot,et al.  Polymorphic type, region and effect inference , 1992, Journal of Functional Programming.

[22]  Anne Rogers,et al.  Understanding Language Support for Irregular Parallelism , 1995, PSLS.

[23]  Matthias Felleisen,et al.  Control operators, the SECD-machine, and the λ-calculus , 1987, Formal Description of Programming Concepts.

[24]  Jonathan Rees,et al.  Revised3 report on the algorithmic language scheme , 1986, SIGP.

[25]  Daniel Ribbens,et al.  The Semantics of pcall and fork , 1995 .

[26]  Slocum Miller James,et al.  Multischeme : a parallel processing system based on MIT scheme , 1987 .

[27]  Andrew W. Appel,et al.  Compiling with Continuations , 1991 .