diff options
author | dos-reis <gdr@axiomatics.org> | 2009-01-03 10:26:16 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2009-01-03 10:26:16 +0000 |
commit | ad0d6445de436a1c7c04cfe14316d620cb9202b3 (patch) | |
tree | 2165a9a2446cc52a27bd6545359607e7dc376599 /src/interp/i-funsel.boot | |
parent | 844be40b5b876fffd816f285f87711cca6ef3121 (diff) | |
download | open-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.boot | 26 |
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 => |