LISP and Symbolic Computation, 4(4)371-398

Critique of DIN Kernel Lisp Definition Version 1.2

Henry G. Baker, Nimble Computer Corporation, 16231 Meadow Ridge Way, Encino, CA 91436

Abstract: A critique of DIN Kernel Lisp is presented which argues for greater emphasis on implementation efficiency and language cleanliness, and a greater emphasis on parallel and persistent Lisp environments. Specific recommendations include standardizing the S-expression rather than the character form of a program, using lexical scoping and shadowing to enhance subsystem modularity, relying on macros and compiler-macros for more pleasant syntax and greater modularity, requiring immutable/functional bindings, strings, vectors and lists; using object-oriented capabilities to build basic capabilities--e.g., generic arithmetic, streams and pathnames, relying on defstruct instead of defclass, and standardizing on defmethod for all function definitions. A virtual/synthetic class mechanism is presented to solve certain technical problems analogous to those solved by the "virtual function" mechanism of C++. Finally, we recommend the inclusion of futures as DKLisp's fundamental mechanism for the introduction of multiple parallel threads of computation.

This article is not available online.
[picture of journal cover]

May 2003 - hosc@brics.dk