Part I Parallel Lisp Languages and Programming Models

Parallel Lisp: Languages and Systems

Volume 441 of the series Lecture Notes in Computer Science pp 58-100


A parallel lisp language PaiLisp and its kernel specification

  • Takayasu ItoAffiliated withDepartment of Information Engineering School of Engineering, Tohoku University
  • , Manabu MatsuiAffiliated withDepartment of Information Engineering School of Engineering, Tohoku University

* Final gross prices may vary according to local VAT.

Get Access


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.