axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Axiom-developer] Re: )set functions compile on


From: Page, Bill
Subject: RE: [Axiom-developer] Re: )set functions compile on
Date: Wed, 31 Aug 2005 03:31:01 -0400

On Wednesday, August 31, 2005 2:50 AM Martin Rubey wrote:
> 
> But, on the other hand, I think we should really track down the
> cause of the frequent failures when working without )se fu co on
>

Agreed.
 
> I suspect that this could lead to some insights about how the
> interpreter differs from the compiler, and it should be a priority
> goal to make the semantics of both the same.
> 

Be careful here not to confuse the reference to 'compile' in
')set function compile on' with the )compile command. In the first
case we are talking about the lisp compiler (i.e. compile lisp to
machine code). In the second case it refers to either the SPAD or
Aldor compilers, both of which compile high level library code to
lisp code and then automatically invoke the lisp compiler to
produce machine code.

For extraordinary debugging situations I believe that it is possible
to run Axiom without compiling the library code to machine code and
to let lisp interpret the generated lisp code directly. (Is that
right Tim?) But normally all library code is compiled twice, once
from SPAD/Aldor to lisp and then a second time from lisp to machine
code.

When ')set function compile off' is in effect, the interpreter
does not call the lisp compiler. Instead it allows lisp to simply
interpret the lisp code that it generates for function definitions.

In the case of the interpreter, in principle there should be no
differences in the semantics between compiling the lisp code or
not. Any difference would constitute a programming error either in
Axiom or in the lisp interpreter/compiler (GCL).

Of course in the case of the )compile command, there *are* significant
differences between the high level language accepted by the interpreter
and the language accepted by the library compiler (SPAD or Aldor). I
suspect that when you say: "make the semantics of both the same" you
have in mind this latter case?

> I'm unable to do this, I'd like to stick to the algebra part of
> Axiom. But who is in charge of interpreter and compiler?
>

Who is in charge? Well, this is open source. We are all in charge.
But the only person I know who has the skills and is active here
is Tim Daly. I am :) because he's here, but :( because there are
still so few other people who are willing and able to contribute
their time to do this kind of work.

Regards,
Bill Page. 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]