From 3c643ccfe92e3fc3282a4701f70ce76b1199880e Mon Sep 17 00:00:00 2001 From: dos-reis Date: Wed, 17 Oct 2007 04:31:11 +0000 Subject: * g-util.boot (isDomain): Merge with version in interop.boot.pamphlet. * i-funsel.boot.pamphlet (getFunctionFromDomain): Likewise. * interop.boot.pamphlet (devaluate): Remove. (isDomain): Likewise. (NRTcompiledLookup): Likewise. (compiledLookup): Likewise. (basicLookup): Likewise. (lookupInDomainVector): Likewise. (lookupComplete): Likewise. (lookupIncomplete): Likewise. (lookupInCompactTable): Likewise. (lazyMatchArg2): Likewise. (getOpCode): Likewise. (newExpandLocalType): Likewise. (replaceGoGetSlot): Likewise. (lazyMatchAssocV): Likewise. (lazyDomainSet): Likewise. (evalSlotDomain): Likewise. (domainEqual): Likewise. (coerceConvertMmSelection): Likewise. (getFunctionFromDomain): Likewise. --- src/interp/i-funsel.boot.pamphlet | 27 +++++---------------------- 1 file changed, 5 insertions(+), 22 deletions(-) (limited to 'src/interp/i-funsel.boot.pamphlet') diff --git a/src/interp/i-funsel.boot.pamphlet b/src/interp/i-funsel.boot.pamphlet index bea96021..3ba29f64 100644 --- a/src/interp/i-funsel.boot.pamphlet +++ b/src/interp/i-funsel.boot.pamphlet @@ -715,39 +715,22 @@ hitListOfTarget(t) == EQ(CAR t,'Expression) => 1600 500 ---------------------> NEW DEFINITION (override in interop.boot.pamphlet) getFunctionFromDomain(op,dc,args) == -- finds the function op with argument types args in dc -- complains, if no function or ambiguous - $reportBottomUpFlag:local:= NIL member(CAR dc,$nonLisplibDomains) => throwKeyedMsg("S2IF0002",[CAR dc]) not constructor? CAR dc => throwKeyedMsg("S2IF0003",[CAR dc]) - - p := findFunctionInDomain(op,dc,NIL,args,args,NIL,NIL) - - -- NEW COMPILER COMPATIBILITY ON - - if not p then - p := - op = "^" => - findFunctionInDomain("**",dc,NIL,args,args,NIL,NIL) - op = "**" => - findFunctionInDomain("^",dc,NIL,args,args,NIL,NIL) - nil - - -- NEW COMPILER COMPATIBILITY OFF - - p => + p:= findFunctionInDomain(op,dc,NIL,args,args,NIL,NIL) => +--+ + --sig := [NIL,:args] domain := evalDomain dc for mm in nreverse p until b repeat - [[.,:sig],:.] := mm - b := compiledLookup(op,sig,domain) + [[.,:osig],nsig,:.] := mm + b := compiledLookup(op,nsig,domain) b or throwKeyedMsg("S2IS0023",[op,dc]) - - throwKeyedMsg("S2IF0004",[op,dc]) isOpInDomain(opName,dom,nargs) == -- cgit v1.2.3