Search engine for discovering works of Art, research articles, and books related to Art and Culture
ShareThis
Javascript must be enabled to continue!

Futures and multiple values in parallel Lisp

View through CrossRef
We consider the impact of introducing the future construct to the multiple value facility in Lisp (Common Lisp and Scheme). A natural way to accommodate this problem is by modifying the implementation of futures so that one future object returns (or resolves to) multiple values instead of one. We first show how a such straightforward modification fails to maintain the crucial characteristic of futures, namely that inserting futures in a functional program does not alter the the result of the computation. A straightforward modification may result in wrong number of values. We then present two methods which we call the mv-context method and the mv-p flag method to overcome this problem. Both of these methods have been tested in TOP-1 Common Lisp, an implementation of a parallel Common Lisp on the TOP-1 multiprocessor workstation. To our knowledge, this problem has never been analyzed nor solved in an implementation of parallel Lisp. We also present the technique of future chain elimination which avoids creation of unnecessary futures and processes at run-time, which was inspired by this solution.
Association for Computing Machinery (ACM)
Title: Futures and multiple values in parallel Lisp
Description:
We consider the impact of introducing the future construct to the multiple value facility in Lisp (Common Lisp and Scheme).
A natural way to accommodate this problem is by modifying the implementation of futures so that one future object returns (or resolves to) multiple values instead of one.
We first show how a such straightforward modification fails to maintain the crucial characteristic of futures, namely that inserting futures in a functional program does not alter the the result of the computation.
A straightforward modification may result in wrong number of values.
We then present two methods which we call the mv-context method and the mv-p flag method to overcome this problem.
Both of these methods have been tested in TOP-1 Common Lisp, an implementation of a parallel Common Lisp on the TOP-1 multiprocessor workstation.
To our knowledge, this problem has never been analyzed nor solved in an implementation of parallel Lisp.
We also present the technique of future chain elimination which avoids creation of unnecessary futures and processes at run-time, which was inspired by this solution.

Related Results

Enriching the internet control-plane for improved traffic engineering
Enriching the internet control-plane for improved traffic engineering
Amélioration du plan de contrôle d'internet avec de nouvelles solutions d'ingénierie de trafic L'un des défis majeurs de l'évolution de l'architecture Internet est ...
Direct execution of lisp on a list_directed architecture
Direct execution of lisp on a list_directed architecture
We have defined a direct-execution model dedicated to non-numerical processing which is based upon an internal representation of source programs derived from LISP. This model provi...
Direct execution of lisp on a list_directed architecture
Direct execution of lisp on a list_directed architecture
We have defined a direct-execution model dedicated to non-numerical processing which is based upon an internal representation of source programs derived from LISP. This model provi...
Futures participation as anticipatory practice — what do futures workshops do?
Futures participation as anticipatory practice — what do futures workshops do?
AbstractFutures workshop is a participatory futures research method for producing views on futures and facilitating transformation and empowerment. Since different workshop methods...
Reimagining Entrepreneurial Futures: How Futures Perceptions Shape Entrepreneurial Intentions
Reimagining Entrepreneurial Futures: How Futures Perceptions Shape Entrepreneurial Intentions
This research bridges the disciplines of futures studies and entrepreneurship to explore individuals’ perceptions of probable, desirable, and alternative futures in entrepreneurshi...
An investigation of price discovery and volatility spillovers in India’s foreign exchange market
An investigation of price discovery and volatility spillovers in India’s foreign exchange market
Purpose – The purpose of this paper is to examine the price discovery and volatility spillovers in spot and futures prices of four currencies (namely, USD/INR, EURO...
Futures Replication and the Law of One Futures Price
Futures Replication and the Law of One Futures Price
We define a synthetic futures contract as a pair consisting of a terminal futures price J (a prespecified random variable) and a zero-value trading strategy whose terminal cumulati...

Back to Top