• 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.

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.

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.

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