[Top][All Lists]
[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
- RE: [Axiom-mail] Equivalence between named domain and %, (continued)
- RE: [Axiom-mail] Equivalence between named domain and %, Page, Bill, 2006/10/17
- Re: [Axiom-mail] Equivalence between named domain and %, Gabriel Dos Reis, 2006/10/17
- Re: [Axiom-mail] Equivalence between named domain and %, Gabriel Dos Reis, 2006/10/17
- Re: [Axiom-mail] Equivalence between named domain and %, Waldek Hebisch, 2006/10/17
- Re: [Axiom-mail] Equivalence between named domain and %, Gabriel Dos Reis, 2006/10/17
- Re: [Axiom-mail] Equivalence between named domain and %, Waldek Hebisch, 2006/10/17
- Re: [Axiom-mail] Equivalence between named domain and %, Gabriel Dos Reis, 2006/10/17
- Re: [Axiom-mail] Equivalence between named domain and %, Waldek Hebisch, 2006/10/17
- RE: [Axiom-mail] Equivalence between named domain and %, Page, Bill, 2006/10/17
- RE: [Axiom-mail] Equivalence between named domain and %, Page, Bill, 2006/10/17
- Re: [Axiom-mail] Equivalence between named domain and %,
Waldek Hebisch <=