axiom-mail
[Top][All Lists]
Advanced

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

Re: [Axiom-mail] Equivalence between named domain and %


From: Waldek Hebisch
Subject: Re: [Axiom-mail] Equivalence between named domain and %
Date: Tue, 17 Oct 2006 17:44:55 +0200 (CEST)

Bill Page wrote:
> On Tuesday, October 17, 2006 9:52 AM Waldek Hebisch wrote:
> > 
> > Bill Page wrote:
> > > ... 
> > > I wonder why '$bootStrapMode t' is not the normal default mode of
> > > operation for SPAD? Is the generated code less efficient?
> > > 
> > 
> > '$bootStrapMode t' means there is no "real" code. You need to
> > compile second time in normal mode to compile executable part.
> > 
> 
> Do you mean that '$bootStrapMode t' asks the compiler to only compile
> "headers"?
> 
> Here is the actual Lisp generated by Gaby's (modified) example:
> 
> http://wiki.axiom-developer.org/SandBoxBootStrap2
> 
> Please excuse my indentation below which is only approximate.
> 
> (/VERSIONCHECK 2) 
> 
> (DEFUN T NIL
>   (PROG NIL
>     (RETURN (PROG (#0=#:G1407)
>       (RETURN (COND
>         ((LETT #0# (HGET |$ConstructorCache| (QUOTE T)) T)
>           (|CDRwithIncrement| (CDAR #0#)))
>         ((QUOTE T)
>           (UNWIND-PROTECT
>             (PROG1 (CDDAR
>               (HPUT |$ConstructorCache| (QUOTE T)
>                 (LIST (CONS NIL (CONS 1 (|T;|))))))
>               (LETT #0# T T))
>   (COND ((NOT #0#) (HREM |$ConstructorCache| (QUOTE T)))))))))))) 
> 
> (DEFUN |T;| NIL
>   (COND (|$bootStrapMode| (VECTOR (QUOTE (T))
>      NIL NIL NIL NIL NIL))
>   ((QUOTE T)
>     (|systemError| (LIST (QUOTE |%b|) (QUOTE T) (QUOTE |%d|) "from"
> (QUOTE |%b|)
>     (QUOTE "/var/zope/var/LatexWiki/390581243-25px001.spad")
>     (QUOTE |%d|) "needs to be compiled"))))) 
> 
> (MAKEPROP (QUOTE T) (QUOTE NILADIC) T) 
> 
> -------
> 
> Note especially "needs to be compiled". :-)
> 
> How does one "compile second time in normal mode"? Do you
> mean just re-compile it without the '$bootStrapMode t' flag?
> In that case is the first compile with this flag only generating
> type information to be used for compiling downstream modules?
> 

In short yes. ATM I do not understand all consequences of $bootStrapMode,
but I belive that intended use was to compile once with $bootStrapMode
set to t (or perhaps do a few iterations to find a fixpoint) to resolve
cyclic dependencies between types and then re-compile with $bootStrapMode
set to nil.

-- 
                              Waldek Hebisch
address@hidden 




reply via email to

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