Results 1 -
5 of
5
Design of a Concurrent and Distributed Language
, 1992
"... . This paper presents a new dialect of Scheme aimed towards concurrency and distribution. It offers a few primitives, including first-class continuations, with very simple semantics. Numerous examples are given showing how to program the classical concurrent control operators such as future, pcall a ..."
Abstract
-
Cited by 21 (13 self)
- Add to MetaCart
. This paper presents a new dialect of Scheme aimed towards concurrency and distribution. It offers a few primitives, including first-class continuations, with very simple semantics. Numerous examples are given showing how to program the classical concurrent control operators such as future, pcall and either. The implementation is sketched and presented along the lines of a metacircular interpreter. This paper presents the idiom of Icsla 1 , a language belonging to the Lisp family and more precisely a descendant of Scheme. This dialect has been designed with respect to the following main objectives: -- It should have a very simple and understandable semantics, with few but powerful and unrestrictively combinable concepts; -- It should offer concurrency, distribution and some other modern features such as sophisticated control features while not sacrificing the variety of styles traditionally offered by Lisp. These goals are rather general and deserve further comment. Following Sche...
A Concurrent and Distributed Extension of Scheme
- PARLE '92 -- Parallel Architectures and Languages Europe
, 1992
"... The Lisp family of languages has traditionally been a privileged domain where linguistic experiments were done, this paper presents a new dialect offering concurrency and distribution. This dialect, nicknamed CD-Scheme, has been designed above Scheme with as few as possible features to allow a great ..."
Abstract
-
Cited by 15 (5 self)
- Add to MetaCart
The Lisp family of languages has traditionally been a privileged domain where linguistic experiments were done, this paper presents a new dialect offering concurrency and distribution. This dialect, nicknamed CD-Scheme, has been designed above Scheme with as few as possible features to allow a great expressiveness but still to retain the original consistency and simplicity of Scheme. We explicitly show how common parallel constructs can be written in regular CD-Scheme. A denotational semantics is also presented that expresses the detailed meaning of assignment, data mutation, continuations in presence of concurrency and distribution. This semantics offers a basis to understand new proposals of concurrent or distributed features and may be used to justify compiler optimizations or implementation techniques. The proposed set of features of CD-Scheme can be also used to extend languages other than Scheme. CD-Scheme is a concurrent, distributed and conservative extension of Scheme, a dial...
A Library of High Level Control Operators
- Lisp Pointers, ACM SIGPLAN Special Interest Publ. on Lisp
, 1993
"... Numerous high-level control operators, with various properties, exist in the literature. To understand or compare them is difficult since their definitions use quite different theoretical frameworks; moreover, to our knowledge, no implementation offers them all. This paper tries to explain control o ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
Numerous high-level control operators, with various properties, exist in the literature. To understand or compare them is difficult since their definitions use quite different theoretical frameworks; moreover, to our knowledge, no implementation offers them all. This paper tries to explain control operators by the often simple stack manipulation they perform. We therefore present what we think these operators are, in an executable framework derived from abstract continuations. This library is published in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For instance, we do not claim our implementation to be faithful nor we attempt to formally derive these implementations from their original definitions. The goal is to give a flavor of what control operators are, from an implementation point of view. Last but worth to say, all errors are mine. Among the many existing control operators, w...
Sharing Mutable Objects and Controlling Groups of Tasks in a Concurrent and Distributed Language
- In Takayasu Ito and Akinori Yonezawa, editors, Proceedings of the Workshop on Theory and Practice of Parallel Programming (TPPP'94), number 700 in Lecture Notes in Computer Science
, 1994
"... . This paper presents: (i) an operational semantics, based on a functional framework, for a concurrent and distributed extension of the Scheme programming language, (ii ) a coherency protocol taking care of shared mutable objects, (iii ) a new coherency protocol to imperatively control hierarchical ..."
Abstract
-
Cited by 6 (4 self)
- Add to MetaCart
. This paper presents: (i) an operational semantics, based on a functional framework, for a concurrent and distributed extension of the Scheme programming language, (ii ) a coherency protocol taking care of shared mutable objects, (iii ) a new coherency protocol to imperatively control hierarchical groups of cooperating tasks. These two protocols do not require broadcast, nor FIFO communications, nor a centralized machine; they allow to manage an unbound number of shared mutable values and groups of tasks. This paper also advocates for the use of a functional continuationbased presentation for these protocols. The omnipresence of interconnected networks exacerbates the need for high level languages allowing to express and control widely distributed computations. Much network services such as news, finger, archie, netfind etc. [ODL93] basically manage a set of informations which is accessed and enriched on a world-distributed basis. We think that it will become more and more necessary f...
On the Finiteness of Resources in Distributed Computing
, 1996
"... Millions of computers are now connected together by the Internet. At a fast pace, applications are taking profit of these new capabilities, and become parallel and distributed, e.g. applets on the WWW or agent technology. As we live in a world with finite resources, an important challenge is to be a ..."
Abstract
- Add to MetaCart
Millions of computers are now connected together by the Internet. At a fast pace, applications are taking profit of these new capabilities, and become parallel and distributed, e.g. applets on the WWW or agent technology. As we live in a world with finite resources, an important challenge is to be able to control computations in such an environment. For instance, a user might like to suspend a computation because another one seems to be more promising. In this paper, we present a paradigm that allows the programmer to monitor and control computations, whether parallel or distributed, by mastering their resource consumption.

