aboutsummaryrefslogtreecommitdiff
path: root/src/interp/i-funsel.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2009-01-03 10:26:16 +0000
committerdos-reis <gdr@axiomatics.org>2009-01-03 10:26:16 +0000
commitad0d6445de436a1c7c04cfe14316d620cb9202b3 (patch)
tree2165a9a2446cc52a27bd6545359607e7dc376599 /src/interp/i-funsel.boot
parent844be40b5b876fffd816f285f87711cca6ef3121 (diff)
downloadopen-axiom-ad0d6445de436a1c7c04cfe14316d620cb9202b3.tar.gz
2009-01-03 Gabriel Dos Reis <gdr@cs.tamu.edu>
* Makefile.pamphlet (AXIOM_SRC_TARGETS): Add all-databases. src/ChangeLog 2009-01-03 Gabriel Dos Reis <gdr@cs.tamu.edu> * lisp/core.lisp.in (|%algebraSystemIsComplete|): New. (|%basicSystemIsComplete|): Use it. * interp/wi1.boot (setqSingle): Use maximalSuperType. (coerceSubset): Simplify. (compCoerce1): Tidy. * interp/i-resolv.boot (resolveTCat): Use superType. * interp/lisplib.boot (findConstructorSlotNumber): Use isSubset. (sigsMatch): Likewise. (findDomainSlotNumber): Likewise. * interp/define.boot (compSubDomain1): Reject for complex subdomain predicate. Support paramterized subdomains. * interp/daase.lisp (interpOpen): Read superdomain slot. (getdatabase): Remove adhoc hardcoded superdomain info. Return superdomain info stored in database. (localnrlib): Read superdomain info. (write-interpdb): Write superdomain info. (database): Add superdomain slot. * interp/g-util.boot (superType): New. (maximalSuperType): Rework. Support parameterized subdomains. (noteSubDomainInfo): New. (isSubDomain): Rework. * interp/c-util.boot (isSubset): Rework. * interp/g-opt.boot (optEQ): Remove. * interp/g-cndata.boot (getImmediateSuperDomain): Remove. (maximalSuperType): Move to g-util.boot. * interp/types.boot (%Constructor): New type specifier. (%Instantiation): Likewise. * interp/compiler.boot (primitiveType): Don't return $NegativeInteger. (maxSuperType): Remove. (hasType): Use maximalSuperType. (satisfies): New. (coerceSubset): Use it. Simplify. * interp/wi2.boot (smallIntegerStep): Use maximalSuperType. * interp/sys-constants.boot ($AtVariables): New. ($NegativeInteger): Remove. ($NonPositiveInteger): Likewise. ($CategoryNames): Category is not a category. * interp/property.lisp: Remove Subsets property settings. * interp/i-coerce.boot (coerceSubDomain): Simplify. (coerceImmediateSubDomain): Remove. (getSubDomainPredicate): Simplify. * interp/category.boot (SourceLevelSubset): Use isSubDomain. (MachineLevelSubset): Likewise. * interp/modemap.boot (mergeModemap): Likewise. (isSuperDomain): Remove. (augModemapsFromDomain): Support parameterized subdomains. * interp/i-util.boot (isSubDomain): Move to g-util.boot. * Makefile.pamphlet (all-databases): New target. * interp/Makefile.pamphlet ($(AXIOMSYS)): Push :open-axiom-algebra-system onto *FEATURES*. * etc/Makefile.in (all-databases): New target.
Diffstat (limited to 'src/interp/i-funsel.boot')
-rw-r--r--src/interp/i-funsel.boot26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/interp/i-funsel.boot b/src/interp/i-funsel.boot
index daededbc..a4f279b6 100644
--- a/src/interp/i-funsel.boot
+++ b/src/interp/i-funsel.boot
@@ -663,13 +663,13 @@ hitListOfTarget(t) ==
t = '(Polynomial (Pi)) => 90000
- EQ(CAR t, 'Polynomial) => 300
- EQ(CAR t, 'List) => 400
- EQ(CAR t,'Matrix) => 910
- EQ(CAR t,'UniversalSegment) => 501
- EQ(CAR t,'RationalFunction) => 900
- EQ(CAR t,'Union) => 999
- EQ(CAR t,'Expression) => 1600
+ CAR t ='Polynomial => 300
+ CAR t = 'List => 400
+ CAR t = 'Matrix => 910
+ CAR t = 'UniversalSegment => 501
+ CAR t = 'RationalFunction => 900
+ CAR t = 'Union => 999
+ CAR t = 'Expression => 1600
500
getFunctionFromDomain(op,dc,args) ==
@@ -856,16 +856,16 @@ findFunctionInDomain1(omm,op,tar,args1,args2,SL) ==
if CONTAINED('_#, sig) or CONTAINED('construct,sig) then
sig := [replaceSharpCalls t for t in sig]
matchMmCond cond and matchMmSig(mm,tar,args1,args2) and
- EQ(y,'Subsumed) and
+ y="Subsumed" and
-- hmmmm: do Union check in following because (as in DP)
-- Unions are subsumed by total modemaps which are in the
-- mm list in findFunctionInDomain.
y := 'ELT -- if subsumed fails try it again
not $SubDom and CAR sig isnt ['Union,:.] and slot is [tar,:args] and
(f := findFunctionInDomain(op,dc,tar,args,args,NIL,NIL)) => f
- EQ(y,'ELT) => [[CONS(dc,sig),osig,nreverse $RTC]]
- EQ(y,'CONST) => [[CONS(dc,sig),osig,nreverse $RTC]]
- EQ(y,'ASCONST) => [[CONS(dc,sig),osig,nreverse $RTC]]
+ y='ELT => [[CONS(dc,sig),osig,nreverse $RTC]]
+ y='CONST => [[CONS(dc,sig),osig,nreverse $RTC]]
+ y='ASCONST => [[CONS(dc,sig),osig,nreverse $RTC]]
y is ['XLAM,:.] => [[CONS(dc,sig),y,nreverse $RTC]]
sayKeyedMsg("S2IF0006",[y])
NIL
@@ -1112,7 +1112,7 @@ selectMmsGen(op,tar,args1,args2) ==
NIL
[c,t,:a] := sig
if a then matchTypes(a,args1,args2)
- not EQ($Subst,'failed) =>
+ $Subst ^= 'failed =>
mmS := nconc(evalMm(op,tar,sig,mmC),mmS)
mmS
@@ -1145,7 +1145,7 @@ evalMm(op,tar,sig,mmC) ==
mS:= NIL
for st in evalMmStack mmC repeat
SL:= evalMmCond(op,sig,st)
- not EQ(SL,'failed) =>
+ SL ^= 'failed =>
SL := fixUpTypeArgs SL
sig:= [subCopy(deepSubCopy(x,SL),$Subst) for x in sig]
not containsVars sig =>