axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] src/interp/compiler.boot.pamphlet


From: Waldek Hebisch
Subject: Re: [Axiom-developer] src/interp/compiler.boot.pamphlet
Date: Wed, 6 Dec 2006 14:42:22 +0100 (CET)

> I see that there is a change to compiler.boot in the sandbox code
> but I don't understand the reason for the change. I'm not sure who
> made the change as it is not recorded in the changelog files.
> 
> What is the problem that this change is designed to solve?
> Is there a test case for it?
> 
> Tim
> 
> =========================================================================
> --- sandbox/src/interp/compiler.boot.pamphlet
> +++ daly/src/interp/compiler.boot.pamphlet
> @@ -494,13 +494,12 @@
>      T
>    T
>  
> +--------------------> NEW DEFINITION (override in xruncomp.boot.pamphlet)
>  getFormModemaps(form is [op,:argl],e) ==
>    op is ["elt",domain,op1] =>
>      [x for x in getFormModemaps([op1,:argl],e) | x is [[ =domain,:.],:.]]
>    null atom op => nil
>    modemapList:= get(op,"modemap",e)
> -  if $insideCategoryPackageIfTrue then
> -    modemapList := [x for x in modemapList | x is [[dom,:.],:.] and dom ^= 
> '$]
>    if op="elt"
>       then modemapList:= eltModemapFilter(LAST argl,modemapList,e) or return 
> nil
>       else
> 
> 

Changes to wh-sandbox are recorded in ChangeLog.wh in the root directory.
As Bill noted it is a part of lage commit which eliminated
'xruncomp.boot.pamphlet'.  In gold both 'xruncomp.boot.pamphlet' and
'xrun.boot.pamphlet' are used as patch files -- they are loaded after
other files and redefine multiple functions. _Some_ of those redefinitions
are overriden by 'interop.boot.pamphlet'.

I simply checked which definition is actually used -- if a function
from 'interop.boot.pamphlet' was in use I removed other definitions.
OTOH I merged definitions from 'xrun.boot.pamphlet' and
'xruncomp.boot.pamphlet' back into original files.

So, at the level of running code this change is intended to be a no-op:
the exact code which ran previously is still running. But at source
level the reader is spared work analysing load order.

I did not try to analyze the above change in detail, I just convinced
myself that versions in 'xrun.boot.pamphlet' and 'xruncomp.boot.pamphlet'
look reasonable -- in particular that 'xrun.boot.pamphlet' and
'xruncomp.boot.pamphlet' do represent later developement compared to
base files.

-- 
                              Waldek Hebisch
address@hidden 




reply via email to

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