aboutsummaryrefslogtreecommitdiff
path: root/src/interp/i-funsel.boot.pamphlet
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/i-funsel.boot.pamphlet')
-rw-r--r--src/interp/i-funsel.boot.pamphlet27
1 files changed, 5 insertions, 22 deletions
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) ==