Workings of GCL



C Y wrote:
> 
> Please forgive the newbie question.  As I'm reading
> about GCL, is it correct that the maxima code is first
> translated to C code, and then compiled by gcc?  Sorry
> if this should be obvious but I'm not completely clear
> on exactly how the compile process works.
> 
> CY
> 


The maxima code is lisp, mostly.  Some pieces are
in the "macsyma language" and some may be in C or even
assembler. 

There are many implementations
of lisp.  Some of them just execute the lisp in
an interpretive fashion. Some compile lisp into assembler
or binary code.  Some of them translate lisp into C 
and then compile it.

Maxima has been compiled on several lisps with different
strategies.  For example the Allegro Common Lisp version
compiles from lisp into assembler. GCL uses C.  There
is nothing inherent in Maxima that requires it to ever
be translated to C. It is just GCL's implementation
strategy.  The nice thing about it is that there are
so many systems with C compilers, that it is a fairly
general approach to portability.


If you want to learn how to compile lisp, there are various
places to look.  A good one is Peter Norvig's  Paradigms
of AI programming. (It includes considerable amounts of
other material also).

RJF