aboutsummaryrefslogtreecommitdiff
path: root/src/interp/i-funsel.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/i-funsel.boot')
-rw-r--r--src/interp/i-funsel.boot7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/interp/i-funsel.boot b/src/interp/i-funsel.boot
index 0b294caa..1dd0d74a 100644
--- a/src/interp/i-funsel.boot
+++ b/src/interp/i-funsel.boot
@@ -763,8 +763,8 @@ selectMostGeneralMm mmList ==
genMm := first mmList
while mml repeat
[mm,:mml] := mml
- and/[canCoerceFrom(genMmArg,mmArg) for mmArg in CDAR mm
- for genMmArg in CDAR genMm] => genMm := mm
+ and/[canCoerceFrom(genMmArg,mmArg) for mmArg in mm.mmSignature
+ for genMmArg in genMm.mmSignature] => genMm := mm
genMm
findFunctionInDomain(op,dc,tar,args1,args2,$Coerce,$SubDom) ==
@@ -800,8 +800,7 @@ findFunctionInDomain(op,dc,tar,args1,args2,$Coerce,$SubDom) ==
q := nil
r := nil
for mm in rest p repeat
- -- CDAR of mm is the signature argument list
- if isHomogeneousList CDAR mm then q := [mm,:q]
+ if isHomogeneousList mm.mmSignature then q := [mm,:q]
else r := [mm,:r]
q := allOrMatchingMms(q,args1,tar,dc)
for mm in q repeat