• Corpus ID: 15540672

PolyScheme : a Semantics for a Concurrent Scheme

  title={PolyScheme : a Semantics for a Concurrent Scheme},
  author={Christian Queinnec},
The Scheme language does not fully specify the semantics of combination: the evaluation order of the terms composing a combination is left indeterminate. We investigate in this paper a diierent semantics for Scheme where terms of combinations are evaluated concurrently. The resulting semantics models a language with concurrent threads sharing a common workspace. The semantics is given in terms of denotational semantics and uses resumptions as well as a choice operator: oneof which mimics a… 

Continuations for Prototyping Concurrent Languages ∗

It is shown that, by using the CSC technique, denotational semantics can be used both as a method for formal specification and design and as a general method for implementing compositional prototypes of concurrent programming languages.

Sound rules for parallel evaluation of a functional language callcc

These results prove that one can design a functional language with first-class continuations which has transparent constructs for parallelism and allow the capture of continuations in any applicative context.

Crystal Scheme a Language for Massively Parallel Machines

The paper discusses extensions to the Scheme language in order to master massively parallel computers, and proposes a neat semantics for them and shows how to build, in the language itself, advanced concurrent constructs such as futures.

Locality, causality and continuations

Besides explaining the software architecture of the implementation of a Scheme-based, concurrent, distributed and computation-oriented language, this paper presents an original coherency protocol for shared mutable variables and proposes a new protocol to manage sharedmutable variables.

Design of a Concurrent and Distributed Language

A new dialect of Scheme aimed towards concurrency and distribution is presented, including first-class continuations, with very simple semantics, and numerous examples are given showing how to program the classical concurrent control operators such as future, pcall and either.



MULTILISP: a language for concurrent symbolic computation

A recommended Multilisp programming style is presented which, if followed, should lead to highly parallel, easily understandable programs.

Revised3 report on the algorithmic language scheme

The report gives a defining description of the programming language Scheme. Scheme is a statically scoped and properly tail-recursive dialect of the Lisp programming language invented by Guy Lewis

The mystery of the tower revealed: a non-reflective description of the reflective tower

This account is self-contained in the sense that it does not employ reflection to explain reflection, and shows how a useful species of reflection could be modeled without the use of towers.

Queue-based multi-processing LISP

This paper proposes multi-processing extensions to Lisp that provides only a few very powerful and intuitive primitives rather than a number of parallel variants of familiar constructs.

Preliminary results with the initial implementation of Qlisp

The implementation of an initial version of Qlisp, a dialect of Common Lisp, on a multiprocessor and a number of experiments with it conducted are described.

Monitors: an operating system structuring concept

This paper develops Brinch-Hansen's concept of a monitor as a method of structuring an operating system. It introduces a form of synchronization, describes a possible method of implementation in

Parallel programming

  • R. Perrott
  • Computer Science
    International computer science series
  • 1988

DEC SRC Report 35

  • January 6,
  • 1989