Skip to main navigation Skip to search Skip to main content

Multi - A LISP based multiprocessing system

  • SUNY Buffalo

Research output: Contribution to conferencePaperpeer-review

11 Scopus citations

Abstract

A package of LISP functions, collectively called MULTI, which extends LISP 1.5 to multiprogramming is presented. MULTI defines the notion of a process within a LISP implementation using function invocation as the only control primitive. A process is an executable entity consisting of a process template and a set of register values. The process template defines the operations the process carries out. Process environments are saved in what can be viewed as function call instances, i.e. LISP forms which have the name of a process template in functional position and the register values following it. The flexibility of this simple conceptualization of processes is demonstrated by several examples which use MULTI to Implement recursion, backtracking, generators, agendas and AND/OR graph searching. The implementation of MULTI does not assume that the host LISP system provides any data or control environment saving mechanisms such as FUNARG or INTERLISP's spaghetti stack. Thus, MULTI is portable to other LISP systems.

Original languageEnglish
Pages29-37
Number of pages9
DOIs
StatePublished - Aug 25 1980
Event1980 ACM Conference on LISP and Functional Programming, LFP 1980 - Stanford, United States
Duration: Aug 25 1980Aug 27 1980

Conference

Conference1980 ACM Conference on LISP and Functional Programming, LFP 1980
Country/TerritoryUnited States
CityStanford
Period08/25/8008/27/80

Fingerprint

Dive into the research topics of 'Multi - A LISP based multiprocessing system'. Together they form a unique fingerprint.

Cite this