The issue of the current lisp code is related to several factors. Scratchpad
was implemented in maclisp, ported to lispvm, and then ported to common
lisp (I did large portions of the CL port). So the code is a macro-mangled
version of several lisps. In addition, there was another language (called
Meta) that was part of the build process making life more complex. Boot
added to that complexity by making it unreasonable to write good lisp
code that takes advantage of Common lisp. Nobody writes CL code
using lists of lists of lists and cadadr accesses.
Common lisp code can be very readable. It is easy to write in a functional
style and structure the data in a more rational fashion. I've been working
in that direction.
You're right that nobody is going to change their minds about this issue,
of course. It's one of the reasons for a fork. But if you're going to put forth
the effort to rewrite the compiler in Spad it might be worthwhile to create
a specification of what it does now before trying to write Spad code.
There are a lot of subtle hacks (e.g. add chain searches) that would be
useful to explain.
Another thought is that Aldor was an attempt to re-write the world into
a higher level language. I spent 4 years of PhD research trying to move
Axiom's algebra library into Aldor. Aldor was supposed to be the
replacement compiler for Scratchpad. Unfortunately it suffers from
"the second system effect", losing sight of the primary goal. You could
consider moving the algebra to Aldor but I don't recommend it.
Tim