axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] def.lisp


From: Gabriel Dos Reis
Subject: Re: [Axiom-developer] def.lisp
Date: 28 Oct 2006 03:48:37 +0200

root <address@hidden> writes:

| Gaby,
| 
| The def.lisp file occurs in two places but for different reasons.
| If you look at the function build-interpsys in util.lisp.pamphlet
| you see that it takes several arguments.
| 
| load-files 
| parse-files -- contains the first instance of def.lisp
| comp-files
| browse-files
| translate-files -- contains the second instance of def.lisp
| nagbr-files 
| asauto-files
| 
| as well as a set of pathnames derived during the make process.

The load-files are loaded immediately.  (but def.lisp is not there).

All of the parse-files, comp-files, browse-files, translate-files,
nagbr-files, and asauto-files are stored for the autoload machinery.  

def.lisp is on both the parse-files and translate-files lists as you
noted.   My understanding is that parsing always preceeds translation
(SPAD to Aldor); consequently, by the time the system gets to
translate it already loaded def.lisp.  See compiler.boot

    if translateOldToNew then
        oldParserAutoloadOnceTrigger()
        browserAutoloadOnceTrigger()
        spad2AsTranslatorAutoloadOnceTrigger()
        sayKeyedMsg("S2IZ0085", nil)
        convertSpadToAsFile path



In util.lisp, oldParserAutoloadOnceTrigger seems not to have been
called:

    (defun |tr| (fn)
      (|oldCompilerAutoloadOnceTrigger|)
      (|browserAutoloadOnceTrigger|)
      (|spad2AsTranslatorAutoloadOnceTrigger|)
      (|convertSpadFile| fn) )

However, I don't see how that can work without first parsing.

Furthermore, the file wi1.boot redefines another function named "tr".
No wonder how this ever workded :-)

| spad
| lsp
| src
| int
| obj
| mht
| sys

As I think I've explained in a mail some time ago, most of the above
arguments are usefuless.  Only "spad" and an argument for the build
directory of interp is needed.  I posted a patch to clear up that
aspect sometime ago.

| It is not clear to me yet that this is actually a duplicate use.
| The question is, what is the semantic difference between the files
| in the parse-files list and the translate-files list and how are
| they used. 
| 
| The fact that the same file NAME occurs in two lists implies nothing.
| 
| Since we do not have a reliable test suite with sufficient coverage
| means that we cannot claim that "it works to remove it". We need to
| understand why it occurs and then show that it does no harm to remove it.

Agreed, but we need to do something when things are "obviously wrong"
and we can't always stay stationary because we don't have complete
coverrage :-) 


[if you feel like you need to say something about "it should just
work", please resist :-)]

-- Gaby




reply via email to

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