diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/interp/define.boot | 8 |
2 files changed, 8 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 640a0db8..5e229781 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,10 @@ 2012-02-12 Gabriel Dos Reis <gdr@cs.tamu.edu> + * interp/define.boot (NRTcatCompare): Remove. + (NRTmakeCategoryAlist): Don't call NRTcatCompare. Tidy. + +2012-02-12 Gabriel Dos Reis <gdr@cs.tamu.edu> + * interp/define.boot (depthAssocList): Take the cache as second argument. Avoid globals. Adjust Callers. (depthAssoc): Likewise. Adjust Caller. diff --git a/src/interp/define.boot b/src/interp/define.boot index e418aae0..b025b160 100644 --- a/src/interp/define.boot +++ b/src/interp/define.boot @@ -463,12 +463,12 @@ getCatAncestors x == [CAAR y for y in parentsOf opOf x] NRTmakeCategoryAlist(db,e) == pcAlist := [:[[x,:true] for x in $uncondAlist],:$condAlist] - $levelAlist: local := depthAssocList([CAAR x for x in pcAlist],hashTable 'EQ) - opcAlist := sortBy(function NRTcatCompare,pcAlist) + levelAlist := depthAssocList([CAAR x for x in pcAlist],hashTable 'EQ) + opcAlist := sortBy(function(x +-> LASSOC(first(x).op,levelAlist)),pcAlist) newPairlis := [[5 + i,:b] for [.,:b] in dbFormalSubst db for i in 1..] slot1 := [[a,:k] for [a,:b] in dbSubstituteAllQuantified(db,opcAlist) | (k := predicateBitIndex(b,e)) ~= -1] - slot0 := [hasDefaultPackage opOf a for [a,:b] in slot1] + slot0 := [hasDefaultPackage a.op for [a,:b] in slot1] sixEtc := [5 + i for i in 1..dbArity db] formals := ASSOCRIGHT dbFormalSubst db for x in slot1 repeat @@ -490,8 +490,6 @@ encodeCatform(db,x) == x isnt [.,:.] or rest x isnt [.,:.] => x [first x,:[encodeCatform(db,y) for y in rest x]] -NRTcatCompare [catform,:pred] == LASSOC(first catform,$levelAlist) - hasDefaultPackage catname == defname := makeDefaultPackageName symbolName catname constructor? defname => defname |