aboutsummaryrefslogtreecommitdiff
path: root/src/interp/i-funsel.boot.pamphlet
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2007-10-17 04:31:11 +0000
committerdos-reis <gdr@axiomatics.org>2007-10-17 04:31:11 +0000
commit3c643ccfe92e3fc3282a4701f70ce76b1199880e (patch)
treeddb197fa57e541286b03b682e22ee8f20ea5de56 /src/interp/i-funsel.boot.pamphlet
parentce09059aa3e8028ef11f5e9573bcc6fac593ef5e (diff)
downloadopen-axiom-3c643ccfe92e3fc3282a4701f70ce76b1199880e.tar.gz
* 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.
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) ==