diff options
Diffstat (limited to 'src/interp')
-rw-r--r-- | src/interp/define.boot | 3 | ||||
-rw-r--r-- | src/interp/functor.boot | 62 | ||||
-rw-r--r-- | src/interp/lisplib.boot | 2 | ||||
-rw-r--r-- | src/interp/nruncomp.boot | 48 | ||||
-rw-r--r-- | src/interp/wi1.boot | 1 | ||||
-rw-r--r-- | src/interp/wi2.boot | 2 |
6 files changed, 2 insertions, 116 deletions
diff --git a/src/interp/define.boot b/src/interp/define.boot index bf90b572..5b73b5d9 100644 --- a/src/interp/define.boot +++ b/src/interp/define.boot @@ -85,7 +85,6 @@ $NRTdeltaListComp := [] $template := nil $signature := nil $isOpPackageName := false -$lisplibCategoriesExtended := [] $lookupFunction := nil $byteAddress := nil $byteVec := nil @@ -732,8 +731,6 @@ compDefineFunctor1(df is ['DEF,form,signature,nils,body], if $isOpPackageName then lisplibWrite('"slot1DataBase", ['updateSlot1DataBase,MKQ $NRTslot1Info],$libFile) $lisplibFunctionLocations := SUBLIS($pairlis,$functionLocations) - $lisplibCategoriesExtended := SUBLIS($pairlis,$lisplibCategoriesExtended) - -- see NRTsetVector4 for initial setting of $lisplibCategoriesExtended libFn := getConstructorAbbreviationFromDB op' $lookupFunction: local := NRTgetLookupFunction($functorForm,$lisplibModemap.mmTarget,$NRTaddForm) diff --git a/src/interp/functor.boot b/src/interp/functor.boot index 6292f5fe..1449309a 100644 --- a/src/interp/functor.boot +++ b/src/interp/functor.boot @@ -394,68 +394,6 @@ mkTypeForm x == x is [op] => MKQ x x is [op,:argl] => ['LIST,MKQ op,:[mkTypeForm a for a in argl]] -setVector4(catNames,catsig,conditions) == - if $HackSlot4 then - for ["%LET",name,cond,:.] in $getDomainCode repeat - $HackSlot4:=MSUSBT(name,cond,$HackSlot4) - code := ["setShellEntry",'$,4,'TrueDomain] - code:=['(%LET TrueDomain (nreverse TrueDomain)),:$HackSlot4,code] - code:= - [: - [setVector4Onecat(u,v,w) - for u in catNames for v in catsig for w in conditions],:code] - ['(%LET TrueDomain NIL),:code] - -setVector4Onecat(name,instantiator,info) == - --generates code to create one item in the - --Alist representing a domain - --returns a single LISP expression - instantiator is ['DomainSubstitutionMacro,.,body] => - setVector4Onecat(name,body,info) - data:= - --CAR name.4 contains all the names except itself - --hence we need to add this on, by the above CONS - ['CONS,['CONS,mkTypeForm instantiator,['CAR,['ELT,name,4]]], - name] - data:= ['SETQ,'TrueDomain,['CONS,data,'TrueDomain]] - TruthP info => data - ['COND,[TryGDC PrepareConditional info,data],: - Supplementaries(instantiator,name)] where - Supplementaries(instantiator,name) == - slist:= - [u for u in $supplementaries | AncestorP(first u,[instantiator])] - null slist => nil - $supplementaries:= S_-($supplementaries,slist) - PRETTYPRINT [instantiator,'" should solve"] - PRETTYPRINT slist - slist:= - [form(u,name) for u in slist] where - form([cat,:cond],name) == - u:= ['QUOTE,[cat,:first eval(cat).4]] - ['COND,[TryGDC cond,['SETQ,'TrueDomain,['CONS,['CONS,u,name], - 'TrueDomain]]]] - # slist=1 => [CADAR slist] - --return a list, since it is CONSed - slist:= ['PROGN,:slist] - [['(QUOTE T),slist]] - -setVector4part3(catNames,catvecList) == - --the names are those that will be applied to the various vectors - generated:= nil - for u in catvecList for uname in catNames repeat - for v in third u.4 repeat - if w:= assoc(first v,generated) - then w.rest := [[rest v,:uname],:rest w] - else generated:= [[first v,[rest v,:uname]],:generated] - codeList := nil - for [w,:u] in generated repeat - code := compCategories w - for v in u repeat - code:= ["setShellEntry",rest v,first v,code] - if CONTAINED('$,w) then $epilogue := [code,:$epilogue] - else codeList := [code,:codeList] - codeList - PrepareConditional u == u setVector5(catNames,locals) == diff --git a/src/interp/lisplib.boot b/src/interp/lisplib.boot index f8a9c511..6af66112 100644 --- a/src/interp/lisplib.boot +++ b/src/interp/lisplib.boot @@ -313,7 +313,6 @@ compConLib1(fun,infileOrNil,outfileOrNil,auxOp,editFlag,traceFlag) == $lisplibKind: local := NIL $lisplibModemap: local := NIL $lisplibModemapAlist: local := NIL - $lisplibCategoriesExtended: local := NIL -- this is always nil. why? (tpd) $lisplibSlot1 : local := NIL --used by NRT mechanisms $lisplibOperationAlist: local := NIL $lisplibOpAlist: local:= NIL @@ -340,7 +339,6 @@ compDefineLisplib(df:=["DEF",[op,:.],:.],m,e,prefix,fal,fn) == $op: local := op $lisplibAttributes: local := NIL $lisplibPredicates: local := NIL -- set by makePredicateBitVector - $lisplibCategoriesExtended: local := NIL -- this is always nil. why? (tpd) $lisplibForm: local := NIL $lisplibKind: local := NIL $lisplibAbbreviation: local := NIL diff --git a/src/interp/nruncomp.boot b/src/interp/nruncomp.boot index e9165588..11519ea2 100644 --- a/src/interp/nruncomp.boot +++ b/src/interp/nruncomp.boot @@ -516,12 +516,12 @@ NRTcheckVector domainShell == for i in $NRTbase..MAXINDEX domainShell repeat --Vector elements can be one of -- (a) T -- item was marked --- (b) NIL -- item is a domain; will be filled in by setVector4part3 +-- (b) NIL -- ??? -- (c) categoryForm-- it was a domain view; now irrelevant -- (d) op-signature-- store missing function info in $CheckVectorList v := domainShell.i v=true => nil --item is marked; ignore - v=nil => nil --a domain, which setVector4part3 will fill in + v=nil => nil atom v => systemErrorHere '"CheckVector" atom first v => nil --category form; ignore assoc(first v,alist) => nil @@ -530,29 +530,6 @@ NRTcheckVector domainShell == mkDomainCatName id == INTERN strconc(id,";CAT") -NRTsetVector4(siglist,formlist,condlist) == - $uncondList: local := nil - $condList: local := nil - $count: local := 0 - for sig in reverse siglist for form in reverse formlist - for cond in reverse condlist repeat - NRTsetVector4a(sig,form,cond) - - $lisplibCategoriesExtended:= [$uncondList,:$condList] - code := ['mapConsDB,MKQ reverse removeDuplicates $uncondList] - if $condList then - localVariable := gensym() - code := [["%LET",localVariable,code]] - for [pred,list] in $condList repeat - code := - [['COND,[pred,["%LET",localVariable, - ['mergeAppend,['mapConsDB,MKQ list],localVariable]]]], - :code] - code := ['PROGN,:nreverse [['NREVERSE,localVariable],:code]] - g := gensym() - [$setelt,'$,4,['PROG2,["%LET",g,code], - ['VECTOR,['catList2catPackageList,g],g]]] - NRTsetVector4Part1(siglist,formlist,condlist) == $uncondList: local := nil $condList: local := nil @@ -577,27 +554,6 @@ reverseCondlist cl == u.rest := [x,:rest u] alist -NRTsetVector4Part2(uncondList,condList) == - $lisplibCategoriesExtended:= [uncondList,:condList] - code := ['mapConsDB,MKQ reverse removeDuplicates uncondList] - if condList then - localVariable := gensym() - code := [["%LET",localVariable,code]] - for [pred,list] in condList repeat - code := - [['COND,[predicateBitRef SUBLIS($pairlis,pred),["%LET",localVariable, - ['mergeAppend,['mapConsDB,MKQ list],localVariable]]]], - :code] - code := ['PROGN,:nreverse [['NREVERSE,localVariable],:code]] - g := gensym() - [$setelt,'$,4,['PROG2,["%LET",g,code], - ['VECTOR,['catList2catPackageList,g],g]]] - -mergeAppend(l1,l2) == - atom l1 => l2 - member(first l1,l2) => mergeAppend(rest l1, l2) - [first l1, :mergeAppend(rest l1, l2)] - catList2catPackageList u == --converts ((Set) (Module R) ...) to ((Set& $) (Module& $ R)...) [fn x for x in u] where diff --git a/src/interp/wi1.boot b/src/interp/wi1.boot index 4cd28026..f698c8a8 100644 --- a/src/interp/wi1.boot +++ b/src/interp/wi1.boot @@ -140,7 +140,6 @@ compDefineLisplib(df,m,e,prefix,fal,fn) == $op: local := op $lisplibAttributes: local := NIL $lisplibPredicates: local := NIL -- set by makePredicateBitVector - $lisplibCategoriesExtended: local := NIL -- this is always nil. why? (tpd) $lisplibForm: local := NIL $lisplibKind: local := NIL $lisplibModemap: local := NIL diff --git a/src/interp/wi2.boot b/src/interp/wi2.boot index ce36da65..f1e9185a 100644 --- a/src/interp/wi2.boot +++ b/src/interp/wi2.boot @@ -189,8 +189,6 @@ compDefineFunctor1(df, m,$e,$prefix,$formalArgList) == if $isOpPackageName then lisplibWrite('"slot1DataBase", ['updateSlot1DataBase,MKQ $NRTslot1Info],$libFile) $lisplibFunctionLocations := SUBLIS($pairlis,$functionLocations) - $lisplibCategoriesExtended := SUBLIS($pairlis,$lisplibCategoriesExtended) - -- see NRTsetVector4 for initial setting of $lisplibCategoriesExtended libFn := getConstructorAbbreviation op' $lookupFunction: local := NRTgetLookupFunction($functorForm,$lisplibModemap.mmTarget,$NRTaddForm) |