diff options
author | dos-reis <gdr@axiomatics.org> | 2013-06-18 06:31:41 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2013-06-18 06:31:41 +0000 |
commit | 01ee31f560d8ae13ea2518329a7a3ba55aad8150 (patch) | |
tree | 77198b2d2e8ea8eaa05ca1dc5c941f57b2fc6655 /src/interp/functor.boot | |
parent | 5d68f2651a08223febcc172a6cb49a6e92899034 (diff) | |
download | open-axiom-01ee31f560d8ae13ea2518329a7a3ba55aad8150.tar.gz |
* interp/compiler.boot (compHasFormat): Take a DB parameter.
Adjust callers.
* interp/define.boot (ICformat): Likewise.
* interp/lisplib.boot (predicateBitIndex): Likewise.
(predicateBitRef): Likewise.
(transHasCode): Likewise.
Diffstat (limited to 'src/interp/functor.boot')
-rw-r--r-- | src/interp/functor.boot | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/interp/functor.boot b/src/interp/functor.boot index 356c66de..5aac19c4 100644 --- a/src/interp/functor.boot +++ b/src/interp/functor.boot @@ -500,7 +500,7 @@ ConstantCreator u == ProcessCond(db,cond,e) == ncond := dbSubstituteFormals(db,cond) - valuePosition(ncond,$NRTslot1PredicateList) => predicateBitRef(ncond,e) + valuePosition(ncond,$NRTslot1PredicateList) => predicateBitRef(db,ncond,e) cond TryGDC cond == @@ -636,14 +636,14 @@ InvestigateConditions(db,catvecListMaker,tbl,env) == mkOr(cond2,old,tbl,env) old list2 - list:= [[sec,:ICformat(u,tbl,env)] for u in list for sec in secondaries] + list:= [[sec,:ICformat(db,u,tbl,env)] for u in list for sec in secondaries] pv:= getPossibleViews($principal,tbl) -- $HackSlot4 is used in SetVector4 to ensure that conditional -- extensions of the principal view are handles correctly -- here we build the code necessary to remove spurious extensions - ($HackSlot4:= [reshape(u,tbl,env) for u in $HackSlot4]) where - reshape(u,tbl,env) == - ['%when,[TryGDC ICformat(rest u,tbl,env)], + ($HackSlot4:= [reshape(db,u,tbl,env) for u in $HackSlot4]) where + reshape(db,u,tbl,env) == + ['%when,[TryGDC ICformat(db,rest u,tbl,env)], ['%otherwise,['RPLACA,'(CAR TrueDomain), ['delete, quote first u,'(CAAR TrueDomain)]]]] $supplementaries:= @@ -652,11 +652,11 @@ InvestigateConditions(db,catvecListMaker,tbl,env) == and not (true=rest u) and not listMember?(first u,pv)] [true,:[LASSOC(ms,list) for ms in masterSecondaries]] -ICformat(u,tbl,env) == +ICformat(db,u,tbl,env) == u isnt [.,:.] => u - u is ["has",:.] => compHasFormat(u,env) + u is ["has",:.] => compHasFormat(db,u,env) u is ['AND,:l] or u is ['and,:l] => - l:= removeDuplicates [ICformat(v,tbl,env) for [v,:l'] in tails l + l:= removeDuplicates [ICformat(db,v,tbl,env) for [v,:l'] in tails l | not listMember?(v,l')] -- we could have duplicates after, even if not before # l=1 => first l @@ -666,8 +666,8 @@ ICformat(u,tbl,env) == l1 u is ['OR,:l] => (l:= ORreduce l) - # l=1 => ICformat(first l,tbl,env) - l:= ORreduce removeDuplicates [ICformat(u,tbl,env) for u in l] + # l=1 => ICformat(db,first l,tbl,env) + l:= ORreduce removeDuplicates [ICformat(db,u,tbl,env) for u in l] --causes multiple ANDs to be squashed, etc. -- and duplicates that have been built up by tidying (l:= Hasreduce(l,tbl,env)) where |