A parallel lisp language PaiLisp and its kernel specification

  • Takayasu Ito
  • Manabu Matsui
Part I Parallel Lisp Languages and Programming Models
Part of the Lecture Notes in Computer Science book series (LNCS, volume 441)


Parallel Lisp languages have been proposed and developed for parallel programming of Lisp programs in Artificial Intelligence and Symbolic Computing. PaiLisp is a parallel Lisp language based on a shared-memory parallel architecture. PaiLisp has been designed so as to include
  1. 1.

    parallel constructs such as future and pcall of Multilisp, and exlambda for mutual exclusion and spawn and par for process creation

  2. 2.

    parallelized Lisp constructs such as parallel conditional expressions, parallel mapcar, parallel and/or, etc.


The first version of PaiLisp, designed in 1986, was based on Franzlisp and the next version was based on Common Lisp. The current version of PaiLisp is based on Scheme. That is, the current version of PaiLisp may be viewed as an extension of Scheme with parallel Lisp constructs mentioned above.

In this paper we present
  1. 1.

    The language specification of PaiLisp PaiLisp is specified as Scheme with parallel Lisp constructs.

  2. 2.

    PaiLisp-Kernel, which is a compact kernel of PaiLisp PaiLisp-Kernel is designed as Scheme with only 4 parallel constructs {spawn, suspend, exlambda, call/cc}, where call/cc is extended in a parallel situation.

  3. 3.

    Description of PaiLisp using PaiLisp-Kernel A concrete description of PaiLisp using PaiLisp-Kernel is given. This means that an implementation-oriented operational semantics of PaiLisp is given in terms of PaiLisp-Kernel.



Shared Memory Mutual Exclusion Parallel Execution Base Language Parent Process 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    R. P. Gabriel and J. McCarthy Queue-based multiprocessing Lisp, ACM Symp. on Lisp and Functional Prog. (1984)Google Scholar
  2. [2]
    R. Goldman and R. P. Gabriel Preliminary results with the initial implementation of Qlisp, ACM Symp. on Lisp and Functional Prog. (1988)Google Scholar
  3. [3]
    R. Halstead,Jr. Multilisp: A language for concurrent symbolic computation, ACM Symp. on Lisp and Functional Prog. (1984)Google Scholar
  4. [4]
    T. Ito and S.Wada Models of parallel execution of Lisp functions and their evaluations, Information Processing Society of Japan. Report of SIG on Symbolic Processing, SYM26-5 (1983) (in Japanese)Google Scholar
  5. [5]
    T. Ito, T. Tamura and S. Wada Theoretical comparisons of interpreted/compiled executions of Lisp on sequential and parallel machine models, IFIP Congress '86 (1986)Google Scholar
  6. [6]
    T. Ito, et al. An MC68000-based multiprocessor system with shared memory and its application to parallel Lisp interpreter, Symp. on Computer Systems, Information Processing Society of Japan (1987)Google Scholar
  7. [7]
    T.Ito R&D Activities of Lisp Systems in Japan, NSF/Monbusho Seminar on US/Japan Scientific Co-operation in Computer Software (1987) {The outline of the first version of PaiLisp was reported at this seminar.}Google Scholar
  8. [8]
    T.Ito and H. Oyaizu Channel-Lisp: A parallel Lisp language based on channel communication, Proc. Princeton Conf. on Information Sciences and Systems (1990) {Channel-Lisp was originally published as T.Ito and H.Oyaizu, Design of a parallel Lisp language based on channel communication, Proc. Conference of Software Science and Technology (1988) (In Japanese)}Google Scholar
  9. [9]
    T. Ito and T. Yuasa Some non-standard issues on Lisp standardization, International Workshop on Lisp Evolution and Standardization (1988)Google Scholar
  10. [10]
    J. Rees and W. Clinger (ed.) Revised 3 Report on the altorithmic language Scheme, SIG-PLAN Notices 31 (1986)Google Scholar
  11. [11]
    S. Sugimoto, et al. A multi-microprocessor system for Concurrent Lisp, Int'l Conf. on Parallel Processing (1983)Google Scholar
  12. [12]
    J. Weening A parallel Lisp simulator, Stanford CSD Report STAN-CS-88-1206 (1988)Google Scholar
  13. [13]
    M. Katz Continuing into future, This ProceedingsGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Takayasu Ito
    • 1
  • Manabu Matsui
    • 1
  1. 1.Department of Information Engineering School of EngineeringTohoku UniversitySendaiJapan

Personalised recommendations