a kit for building one's own custom Lisp implementation
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
by subclassing LispKernel one can implement a custom dialect of Lisp.
see SLisp, CLisp and ULisp as examples
LispKernel is implemented as a pure Smalltalk extension: there is no parser nor compiler.
Lisp code can be written as plain Smalltalk arrays.
- 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