axiom-developer
[Top][All Lists]
Advanced

[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




reply via email to

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