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.boot6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/interp/define.boot b/src/interp/define.boot
index 580b22a8..187c3768 100644
--- a/src/interp/define.boot
+++ b/src/interp/define.boot
@@ -673,7 +673,7 @@ explodeIfs x == main where --called by getParentsFor
getParentsFor db ==
constructorForm := dbConstructorForm db
n := #constructorForm.args
- s1 := pairList($TriangleVariableList,formalVarList n)
+ s1 := pairList(take(n,$TriangleVariableList),$FormalMapVariableList)
s2 := pairList($FormalMapVariableList,constructorForm.args)
[:explodeIfs applySubst(s2,applySubst(s1,x)) for x in folks dbCategory db]
@@ -998,7 +998,7 @@ compDefineCategory1(db,df is ['DEF,form,sig,body],m,e,fal) ==
makeCategoryPredicates db ==
n := dbArity db
- sl := pairList($TriangleVariableList,formalVarList n)
+ sl := pairList(take(n,$TriangleVariableList),take(n,rest $FormalMapVariableList))
fn(dbCategory db,sl,nil) where
fn(u,sl,pl) ==
u is ['Join,:.,a] => fn(a,sl,pl)
@@ -1132,7 +1132,7 @@ compDefineCategory2(db,form,signature,body,m,e,$formalArgList) ==
-- 3. replace arguments by $1,..., substitute into body,
-- and introduce declarations into environment
- sargl := tvarList #form.args
+ sargl := take(# form.args, $TriangleVariableList)
$functorForm:= $form:= [$op,:sargl]
$formalArgList:= [:sargl,:$formalArgList]
formalBody := dbSubstituteFormals(db,body)