goals of LispM, etc.
Henry G. Baker
hbaker@netcom.com
Wed, 30 Apr 1997 13:07:56 -0700 (PDT)
Re LispVM, native Lisp, etc.:
Keep the goals of the project a little fluid. What you really want
are a whole host of overlapping goals and tools -- e.g., you want Lisp
interpreters, Lisp compilers, Lisp editors, Lispy syntax for C, etc.
The goal should be to use Lisp _ideas_ more than a particular Lisp
environment. By having Lisp ideas at all levels -- scripts, macros,
VM's, compilers, lisp-in-lisp memory managers, lisp-oriented
persistent storage managers, etc -- you can mix-and-match things to
make solutions for specific instances.
By all means, build upon existing tools & environments -- e.g., emacs
lisp. Perhaps a good place to start would be to rehost emacs to a
better environment -- e.g., the current emacs gc is a bit of an
embarrassment. Emacs lisp also needs to move more away from dynamic
scoping. Pull Emacs apart into more modular pieces so that one
doesn't _have_ to have such a large thing to start with.
The overall LispOS should _evolve_ naturally as all the various pieces
come together in such a way that fewer and fewer non-Lisp components
are required.
Lisp-on-JavaVM is a necessary part of this evolution, as is Lisp/captivex.
The synergies of a whole LispM project come from the ability to
continually reuse ideas, tools, code, etc.
I think that one piece of standards work that needs to happen
relatively quickly is a standard mapping of C and C++ syntax into
S-expressions, together with a parser and pretty-printer. This solves
several problems:
* you get the ability to use Lisp as a preprocessor
* you get the ability to read .h files to gather information
* you automatically get a decent C/C++ pretty-printer ! :-) :-)
It is probably also necessary to program the silly C preprocessor in
Lisp in order to gain compatibility. (Perhaps Dick Gabriel knows what
became of all of Lucid's old code?)
--
Henry Baker
www/ftp directory URL:
ftp://ftp.netcom.com/pub/hb/hbaker/home.html