axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] Re: Fricas


From: Bill Page
Subject: Re: [Axiom-developer] Re: Fricas
Date: Thu, 26 Jul 2007 17:17:11 -0400

On 7/26/07, C Y wrote:
...
> (We have been discussing that in another thread on MonoidRing.)
 As far as I know it is the intention of everyone involved that Axiom
> will eventually be able to compile this code.

I doubt the FriCAS project will want to spend effort on that though -
they will probably incorporate the fix and move on.  Eventually Axiom
may be able to use the new code, but it could be a while.  If we move
Axiom to building off of full fleged Category Theory everything may
need to be re-thought.

Just so we are clear on at least this one technical issue: The problem
apparently is that the current  Axiom build uses a fixed initial
database (in src/share) to bootstrap the Algebra. This was a part of
the bootstrap problem that was *not* solved by including parallel Lisp
code along with the "bootstrap subset" of initial categories, domains
and packages. It makes it impossible to make certain fundamental
changes to the algebra code without (somehow) making parallel changes
to the databases. But the databases are binary files that (normally)
only re-built when re-compiling the entire Axiom system. There is
actually some pretty good documentation on the structure of these
files, but editing them manually also requires a fairly deep knowledge
of other Axiom internals.

Note: The reason why I say the database files are binary files, in
spite of the fact that they are editable in a normal text editory is
because then include specific byte offsets into the file. These
offsets would be wrong on a system like Windows that uses two-byte
line endings (CR/LF).

You might recall from the record in the very earlier axiom-devel list
archives that even before the first version of open source Axiom was
available we had a problem very similar to the current problem of
compiling MonoidRingCategory. In that case one of the required Axiom
domains refused to compile with the database files that Tim received
from NAG and included in the new open source distribution. In that
case the solution was to replace these database files with new ones
generated by Jergen Wiess using an entirely different Lisp system
(CMUCL).

I suggested this sort of approach to Tim, i.e. copying the new
database files generated by FriCAS back into Axiom, but he did not
reply. But without trying it I am not 100% sure if this would work
however since FriCAS has also dropped many unused domains that used to
connect with the NAG numerical libraries.

One of the things that is new in FriCAS and which I would really like
to see in Axiom but all of this fracas over goals and motivations got
in the way, is the new bootstrap system that completely eliminates the
need to keep any parallel Lisp code in the Algebra files and does not
require any initial database files. This is what makes it possible to
easily compile the MonoidRing changes of interest to Franz Lehner in
FriCAS. This change is essentially a trivial change just making a
locally defined category, i.e. a macro, available as a real Axiom
category, but Axiom refuses to compile it due to some conflict with
the fixed databases. Some other change to the Axiom build process
*might* make this possible but in my opinion the general solution
provided in FriCAS is much preferable especial if we contemplate
making deep changes to the Algebra such as those that might be
motivated by category theory.

What is really needed here is someone with sufficient knowledge of
Axiom internals and time to take a look at Waldek's changes to FriCAS
and implement them in Axiom (along with the prerequisite literate
documentation). In my opinion Waldek has already done a fairly
credible job of writing thing documentation in pamphlet form. But one
thing stopping all this is that the changes also depend on extensive
changes to the build system accomplished in the build-improvements
branch. Until those changes a ported to Axiom all of this is blocked
or made significantly extra difficult.

...

Regards,
Bill Page.




reply via email to

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