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 15:51:54 +0200 (CEST)

Bill Page wrote:
> Even more exciting is the fact that using the $bootStrapMode flag
> discovered by Waldek the same code is compiled by SPAD without
> complaint!
> 
> -------
> )lisp (setq |$bootStrapMode| t)
> )abbrev domain T T
> 
> Decl == Record(name: Symbol, type: T)
> 
> T(): Public == Private where
>   Public ==> with
>     type: Symbol -> %
>     decl: (Symbol, %) -> Decl
>   Private ==> add
>     decl(n:Symbol,t:%):Decl == [n,t]
>     type(x:Symbol):% == x pretend %
> 
> -------
> 
> 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.

Concerning the example above, I tried to get executable code from it,
but I already have problems at first declaration. More precisely,
consider:

)abbrev domain DECL Decl

Decl == Record(name: Symbol, type: Symbol)

I get:

   >> System error:
   Caught fatal error [memory may be damaged]

regardless of $bootStrapMode. The same if change the above to:

)abbrev category DECL Decl

Decl == Record(name: Symbol, type: Symbol)

If I try:

)abbrev category DECL Decl

Decl: Category == Record(name: Symbol, type: Symbol)

I get:

   Internal Error
   Error while instantiating type Category

protected-symbol-warn called with (NIL)





-- 
                              Waldek Hebisch
address@hidden 




reply via email to

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