It's time for me to weigh in on some issues again.
>>Converting Boot code to Lisp is trivial - just run the compiler.
>>That is the first step that Tim has already used in his recent
>>work to which I am objecting.
I agree that this is not the best way to convert the system to
Lisp. In my earlier post supporting Tim's project I was assuming
that he was talking about a real re-implementation. It was the
comment about removing cruft and structuring the data that made me
think that. Compiling Boot to Lisp just adds cruft; none is
removed. The cruft removal implies a real re-write to me.
Now if the goal was to really re-write the interpreter from scratch, I
would strongly recommend using Aldor. It's a great language and
it would be ideal for implementing the interpreter.
The destructuring assignments have been mentioned frequently as a
reason to stay with Boot. That syntax was a favorite of Dick
Jenks, and it does lead to some nifty small programs. It is in
the destructuring assignments that all the data structure information
really lives in Boot. Tim mentioned that he wanted to introduce
real structured data during his conversion. To me that mean
analyzing all the destructuring assignments in Boot and converting them
into real data structure definitions. If that were done, the Lisp
would readable, if not quite as compact as the Boot
equivalent. If the Boot is converted to Lisp by compiling,
then you don't get that, and the resulting code would be harder to
maintain than the Boot.
My main reason for supporting Tim's idea to convert to Lisp is that
Boot is dead, and less powerful than Lisp, so why not convert to a
language that many people know? However, if it is done in a
largely automatic way by compiling the Boot, that won't help anybody.
Ideally
the whole system will be re-implemented in Aldor, but short of that a
well-designed conversion to Lisp would be great. If it is going
to be an automatic conversion without extracting data structures, then
I'd say keep the Boot.