a kit for building one's own custom Lisp implementation
provides:
1) LispKernel, a minimal Lisp-2 interpreter with - dynamic scoping - all fundamental special forms: let, setq, and, or, if, defun, defmacro ... - 100+ basic functions: list, car, funcall, null ... - catch/throw, unwind-protect - a GUI
2) SLisp, an experimental Lisp dialect tightly integrated with Smalltalk
3) ULisp, a Scheme implementation usage:
by subclassing LispKernel one can implement a custom dialect of Lisp. see SLisp, CLisp and ULisp as examples
specificities
LispKernel is implemented as a pure Smalltalk extension: there is no parser nor compiler. Lisp code can be written as plain Smalltalk arrays.
advantages: - we have a tight integration between Lisp and Smalltalk - chasing the reference to a symbol can be done via alt-n - we can use the debugger to debug Lisp code - even continuations become easy to implement (see ULisp)
... see LispKernel class (and subclasses) comments for more