Qlisp: An Interim Report
One of the major problems in writing programs to take advantage of parallel processing has been the lack of good multiprocessing languages—ones which are both powerful and understandable to programmers. In this paper we describe multiprocessing extensions to Common Lisp designed to be suitable for studying styles of parallel programming at the medium-grain level in a shared-memory architecture. The resulting language is called Qlisp.
A problem with parallel programming is the degree to which the programmer must explicitly address synchronization problems. Two new approaches to this problem look promising: the first is the concept of heavyweight futures, and the second is a new type of function called a partially, multiply invoked function.
Unable to display preview. Download preview PDF.
- Henry G. Baker, Jr. and Carl Hewitt, The Incremental Garbage Collection of Processes, Proceedings of the ACM Symposium on Artificial Intelligence and Programming Languages, August 1977.Google Scholar
- Richard P. Gabriel and John McCarthy, Qlisp in Parallel Computation and Computers for Artificial Intelligence edited by Janusz S. Kowalik, Kluwer Academic Publishers, 1988.Google Scholar
- Ron Goldman and Richard P. Gabriel, Preliminary Results with the Initial Implementation of Qlisp, Proceedings of the 1988 ACM Symposium on Lisp and Functional Programming, July 1988.Google Scholar
- Robert H. Halstead, Jr., Multilisp: A Language for Concurrent Symbolic Computation, ACM Transactions on Programming Languages and Systems, Vol 7, No. 4, October 1985, pp 501–538.Google Scholar
- John Lamping, A Unified System of Parameterization for Programming Languages, Proceedings of the 1988 ACM Symposium on Lisp and Functional Programming, July 1988.Google Scholar
- James S. Miller, MultiScheme: A Parallel Processing System Based on MIT Scheme, PhD thesis, MIT, August 1987.Google Scholar
- Guy L. Steele Jr. et al. Common Lisp Reference Manual, Digital Press, 1984.Google Scholar
- Mark R. Swanson, Robert R. Kessler, and Gary Lindstrom, An Implementation of Portable Standard Lisp on the BBN Butterfly, Proceedings of the 1988 ACM Symposium on Lisp and Functional Programming, July 1988.Google Scholar