[Top][All Lists]

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

Re: [Axiom-developer] hyperlinked algebra

From: root
Subject: Re: [Axiom-developer] hyperlinked algebra
Date: Thu, 8 Dec 2005 01:54:43 -0500

> But the reason this is done differently now in the open source
> Axiom build must be because of the bootstrap. I mean now the
> order in which things are compiled matters because we are
> not building from an existing running Axiom system. So I guess
> you were forced to break these files up into pamphlet chunks
> in order to extract and compile them separately.
> But as a result the source file map gets built based on the
> individual domains rather than the original groups.

bingo. exactly right. without a running axiom the original files could
not be compiled. so i had to re-engineer the world to build in the
correct dependent order at the individual domain level.

breaking up the files into 1100 individual domains breaks the )compile
command in the running interpreter so i'm forced to either keep the
current organization or rewrite the algebra.  but i couldn't compile
the current organization. a real circular design issue for the build
system that i had to solve.

the sourcefile fix is to carry the sourcefile information along in the
algebra NRLIB/code.lsp files and write code to update both the
databases and the running interpreter. it involves both compiler,
interpreter, and database hacking. it is a conceptually easy fix but
to do it right you have to touch a lot of code. likely it is several
days of code-reading followed by a 10 byte change somewhere :-)

if you look at the compiler you can figure out how it happens (and
document it). if you look at the database you can figure out how it is
currently (wrongly) stored (and document that).  then you have to
ponder how it currently works and design a fix. my current thinking is
to introduce a )sourcefile directive in each domain since there is no
axiom machinery available at pamphlet-extraction time. the compiler
needs to be changed to recognize, respect, and record the )sourcefile
directive in the databases.

documenting how the compiler/interpreter/database does it now
is the key to understanding the necessary changes.


reply via email to

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