aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog6
-rw-r--r--src/interp/define.boot8
2 files changed, 9 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 5e229781..c1833264 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+2012-02-12 Gabriel Dos Reis <gdr@cse.tamu.edu>
+
+ * interp/define.boot (getCatAncestors): Remove. Adjust caller.
+ (depthAssoc): Tidy.
+ (NRTmakeCategoryAlist): Tidy.
+
2012-02-12 Gabriel Dos Reis <gdr@cs.tamu.edu>
* interp/define.boot (NRTcatCompare): Remove.
diff --git a/src/interp/define.boot b/src/interp/define.boot
index b025b160..c2264f37 100644
--- a/src/interp/define.boot
+++ b/src/interp/define.boot
@@ -453,18 +453,16 @@ depthAssocList(u,cache) ==
depthAssoc(x,cache) ==
y := tableValue(cache,x) => y
- x is ['Join,:u] or (u := getCatAncestors x) =>
+ x is ['Join,:u] or (u := ASSOCLEFT parentsOfForm x) =>
v := depthAssocList(u,cache)
tableValue(cache,x) := [[x,:n],:v]
where n() == 1 + "MAX"/[rest y for y in v]
tableValue(cache,x) := [[x,:0]]
-getCatAncestors x == [CAAR y for y in parentsOf opOf x]
-
NRTmakeCategoryAlist(db,e) ==
pcAlist := [:[[x,:true] for x in $uncondAlist],:$condAlist]
- levelAlist := depthAssocList([CAAR x for x in pcAlist],hashTable 'EQ)
- opcAlist := sortBy(function(x +-> LASSOC(first(x).op,levelAlist)),pcAlist)
+ levelAlist := depthAssocList(ASSOCLEFT pcAlist,hashTable 'EQUAL)
+ opcAlist := sortBy(function(x +-> LASSOC(first x,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]