aboutsummaryrefslogtreecommitdiff
path: root/src/interp/define.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/define.boot')
-rw-r--r--src/interp/define.boot7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/interp/define.boot b/src/interp/define.boot
index 39c2abc1..59577423 100644
--- a/src/interp/define.boot
+++ b/src/interp/define.boot
@@ -327,7 +327,7 @@ extendsCategoryBasic(dom,u,v,env) ==
v is ['IF,p,['ATTRIBUTE,c],.] =>
uVec := compMakeCategoryObject(u,env).expr or return false
cons? c and isCategoryForm(c,env) =>
- LASSOC(c,second categoryHierarchy uVec) is [=p,:.]
+ LASSOC(c,categoryAncestors uVec) is [=p,:.]
LASSOC(c,categoryAttributes uVec) is [=p,:.]
u is ["Join",:l] => or/[extendsCategoryBasic(dom,x,v,env) for x in l]
u = v => true
@@ -348,8 +348,7 @@ extendsCategoryBasic(dom,u,v,env) ==
catExtendsCat?(u,v,env) ==
u = v => true
uvec := compMakeCategoryObject(u,env).expr
- slot4 := categoryHierarchy uvec
- prinAncestorList := first slot4
+ prinAncestorList := categoryPrincipals uvec
listMember?(v,prinAncestorList) => true
vOp := KAR v
if similarForm := assoc(vOp,prinAncestorList) then
@@ -358,7 +357,7 @@ catExtendsCat?(u,v,env) ==
PRINT similarForm
sayBrightlyNT '" but not "
PRINT v
- or/[catExtendsCat?(x,v,env) for x in ASSOCLEFT second slot4]
+ or/[catExtendsCat?(x,v,env) for x in ASSOCLEFT categoryAncestors uvec]
substSlotNumbers(form,template,domain) ==
form is [op,:.] and