[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiom-developer] AldorForAxiom
From: |
Ralf Hemmecke |
Subject: |
Re: [Axiom-developer] AldorForAxiom |
Date: |
Thu, 16 Mar 2006 17:05:27 +0100 |
User-agent: |
Thunderbird 1.5 (X11/20051201) |
On 03/16/2006 04:38 PM, Bill Page wrote:
Yes, that is the main step. There is a nice little topological
sort of the dependencies done in Java that I think should really
be done in Aldor. In fact, Tim Daly **insists** that we should
not add Java to the list of prerequisits for building Axiom, so
when we begin distributing Aldor with the Axiom distribution we
will have some work to do. :)
I thought that it is quite a strange to install Java just for the sake
of sorting, but now I looked to the java programm, well, it's a bit long
and not too well documented. But perhaps I could try to port it to Aldor
on an un-busy weekend. ;-)
But I still wonder why all these .o files are needed for the
execution inside Axiom. I could understand .ao files, but .o
files?
These are the compiled algebra files just like the ones
generated from SPAD.
Yes, clear, but if I just stay in Axiom, I don't need .o files. Am I wrong?
Interestingly, when I say ")co fact.as" Axiom prints:
Compiling AXIOM source code from file /home/hemmecke/fact.as
using AXIOM-XL compiler and options
-O -Fasy -Fao -Flsp -laxiom -Mno-AXL_W_WillObsolete -DAxiom -Y
$AXIOM/algebra
Use the system command )set compiler args to change these
options.
And if I then look into my directory I see.
>ls fact*
fact.ao fact.as fact.asy fact.fn fact.lsp fact.o
Where did the .o file come from?
It was compiled by GCL from the .lsp source which was generated
by Aldor. (Notice option '-Flsp' above.
Notice that there is no "-fo" on the command line. And if there were, I
guess the aldor compiler would call a sequence .as -> .ao -> (hidden .c)
-> .o.
So ")co fact.as" is not the same as calling
"aldor ABOVE_COMPILER_OPTIONS fact.as".
Almost, except you need to compile the generated lisp.
Aha. And that is also .o? Is this the same object format that comes out
if I compile a .c file?
Where should I look to make ")compile" more transparent to me.
Unfortunately I can only suggests the Axiom source code.
I would not have expected anything else, but if someone could make my
search space a bit smaller that would help.
And someone tell what happens when I execute "fact 4" in
Axiom after compiling ")co fact.as"? I always believed that
Axiom executes LISP code. So why is there any need for a .o
file?
Axiom executes *compiled* lisp code. The .o files are machine
code object files that are loaded dynamically by GCL.
Well, I simply removed fact.o and started a new Axiom. I said:
)lib fact
fact 3
and got 6 as result. Which code did I execute?
That should in priciple be possible once I have libaxiom.al,
I just haven't tried it yet.
Let me know if you succeed.
I'll post my experience with that.
Ralf