Principles of artificial intelligence
Principles of artificial intelligence
Programming languages: design and implementation (2nd ed.)
Programming languages: design and implementation (2nd ed.)
A model and stack implementation of multiple environments
Communications of the ACM
Program development by stepwise refinement
Communications of the ACM
Encyclopedia of Artificial Intelligence
Encyclopedia of Artificial Intelligence
PASCAL user manual and report
The incremental garbage collection of processes
Proceedings of the 1977 symposium on Artificial intelligence and programming languages
ACM SIGPLAN Notices
An iterative lisp solution to the samefringe problem
ACM SIGART Bulletin
LISP 1.5 Programmer's Manual
A knowledge engineering approach to natural language understanding
ACL '82 Proceedings of the 20th annual meeting on Association for Computational Linguistics
Using active connection graphs for reasoning with recursive rules
IJCAI'81 Proceedings of the 7th international joint conference on Artificial intelligence - Volume 1
Concurrent LISP on a multi-micro-processor system
IJCAI'81 Proceedings of the 7th international joint conference on Artificial intelligence - Volume 2
Hi-index | 0.00 |
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.