From ad4542e0a85404bc38411060e5994ed11313a33a Mon Sep 17 00:00:00 2001 From: dos-reis Date: Fri, 20 May 2011 05:08:05 +0000 Subject: more cleanup --- src/interp/i-funsel.boot | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/interp/i-funsel.boot') 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 -- cgit v1.2.3