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
Book review: Introduction to Common Lisp by Taiichi Yuasa and Masami Hagiya (Academic Press, 1987) and Common Lisp Drill by Taiichi Yuasa (Academic Press, 1988); Both texts translated into English by Richard Weyhrauch and Yasuko Kitajima
Book review: Introduction to Common Lisp by Taiichi Yuasa and Masami Hagiya (Academic Press, 1987) and Common Lisp Drill by Taiichi Yuasa (Academic Press, 1988); Both texts translated into English by Richard Weyhrauch and Yasuko Kitajima
"Introduction to Common Lisp (sic)" is a textbook that professes to teach the basics of Common LISP using Kyoto Common LISP as the dialect of choice. In his preface, Author Taiichi...
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...

