axiom-developer
[Top][All Lists]
Advanced

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

RE: [Axiom-developer] RE: algebra Makefiles with explicitdependen cies,


From: Page, Bill
Subject: RE: [Axiom-developer] RE: algebra Makefiles with explicitdependen cies, bootstrap, fixed-points etc.
Date: Wed, 12 Jan 2005 22:37:31 -0500

Tim, Steve,

On Monday, January 10, 2005 9:48 PM Tim wrote:

> Steve wrote:
> >    SINT is missing a definition for `one?'.
> 
> The code was changed. It used to read:
> 
>   one?(x) == ONEP(x)$Lisp
> 
> It now reads:
> 
>   one?(x) == x = 1
> 

Tim, could you tell me how the domain vector for SINT
changes because of this change from a function that
is defined in terms of a $Lisp expression versus
one that is defined in the usual Axiom spad way? For
example, does a Lisp definition create and entry in
the domain vector at all? Or if it does, how does it
differ from a native spad function?

Steve's analysis seems clear to me that this change
in SINT is the origin of all (almost all?) the changes
that occur during the fixedPoint iteration.

It is likely, I think, that the <<SINT.lsp BOOTSTRAP>>=
code was generated by an Axiom system (from NAG) that
produced a different domain vector due to NAG's coding
of one?. When you change the spad code, Tim, you probably
did not (hand) change the old NAG lisp code.

If the change in the function definition does produce a
change in the domain vector, than it would appear that
this change propagates to files like BINFILE in the
initial build. (A comparison operator in BINFILE is
initially `<' but changes to `QSLESSP' during the
first iteration. The explanation would be that initially
the index into the domain vector from SINT that was
consulted during the initial compile of BINFILE, must
have been pointing at the wrong function. After the
SINT.spad file is compiled in the last step of the build,
this error is corrected. But in the mean time a change
has occurred in the code for BINFILE. It takes one more
iteration for the error to be corrected in BINFILE.

Does this make sense to you Tim? Does the domain
vector from a dependent object file cause the
generated lisp code to change in this way?

Regards,
Bill Page.




reply via email to

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