Age | Commit message (Collapse) | Author | Files | Lines |
|
SETCAT and SETCAT- are no longer required for bootstrap.
* algebra/SETCAT.lsp: Remove.
* algebra/SETCAT-.lsp: Likewise.
|
|
* interp/g-util.boot (isSubDomain): Tidy.
* interp/g-opt.boot (isVMConstantForm): New.
(findVMFreeVars): Likewise.
* interp/define.boot (insertViewMorphisms): Remove.
(emitSubdomainInfo): New.
(checkVariableName): Likewise.
(checkParameterNames): Likewise.
(checkRepresentation): Set $subdomain where appropriate.
(compDefines): Check parameter names.
(compDefineFunctor1): Propagate subdomain info.
(doIt): Don't call insertViewMorphisms.
* interp/compiler.boot (setqSingle): Check variable name.
(compIterator): Likewise.
(commonSuperType): New.
(satisfies): Likewise.
(coerceSubset): Use them to implemen cross-subdomain coercion.
(coerceSuperset): New.
(comCoerce1): Use it.
(compPer): New.
(compRep): Likewise.
* interp/c-util.boot (getRepresentation): New.
(proclaimCapsuleFunction): Improve for specialized subdomains.
* algebra/stream.spad.pamphlet: Don't use `per' as variable name.
* algebra/si.spad.pamphlet (size$SingleInteger): Tidy.
(coerce$SingleInteger): Likewise.
* algebra/reclos.spad.pamphlet (nonNull$RealClosure): Don't use
`rep' as parameter name.
* algebra/data.spad.pamphlet (Byte): Now a subdomain of
NonNegativeInteger. Tidy.
|
|
* 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.
|
|
extended integer.
|
|
`max' values.
* algebra/si.spad.pamphlet (SingleInteger): Now satisfies
OrderedFinite. Tidy.
|
|
length of buffer to count of bytes read.
* algebra/si.spad.pamphlet (SingleInteger): Now formally subdomain
of Integer.
|
|
constant. Remove definitions for `per' and `rep'.
* algebra/regset.spad.pamphlet (RegularTriangularSet): Likewise.
* algebra/sregset.spad.pamphlet (SquareFreeRegularTriangularSet):
Likewise.
* algebra/triset.spad.pamphlet (GeneralTriangularSet): Likewise.
(WuWenTsunTriangularSet): Likewise.
|
|
Tidy compApplyModemap.
r12460@gauss: gdr | 2008-12-13 09:24:50 -0600
Tidy compMapCond.
r12461@gauss: gdr | 2008-12-13 10:24:14 -0600
Activate compViableModemap.
r12462@gauss: gdr | 2008-12-13 11:18:17 -0600
Remove pmatch and pmatchWithSl out of main compiler.
r12463@gauss: gdr | 2008-12-13 12:26:44 -0600
Tidy compApplyModemap.
r12464@gauss: gdr | 2008-12-13 16:39:28 -0600
Add compExclusiveOr.
r12465@gauss: gdr | 2008-12-13 16:54:58 -0600
.
r12466@gauss: gdr | 2008-12-14 15:01:33 -0600
Tidy compLogicalNot.
|
|
Implement basic support for pattern matching.
r12416@gauss: gdr | 2008-12-06 18:09:19 -0600
Parse case pattern match.
r12417@gauss: gdr | 2008-12-06 21:28:30 -0600
Implement basic case pattern matching for retractable domain.
r12418@gauss: gdr | 2008-12-07 00:58:58 -0600
Refine retractability implementation.
r12419@gauss: gdr | 2008-12-07 01:39:32 -0600
Update cached Lisp translation
r12420@gauss: gdr | 2008-12-07 03:52:09 -0600
r12421@gauss: gdr | 2008-12-07 10:30:44 -0600
Implement type recovery too.
r12422@gauss: gdr | 2008-12-07 19:18:09 -0600
Simplify LET-forms and COND-forms.
r12423@gauss: gdr | 2008-12-07 21:21:12 -0600
Fix typos
r12424@gauss: gdr | 2008-12-08 01:14:54 -0600
Parse case-pattern in the interpreter.
r12427@gauss: gdr | 2008-12-08 20:32:29 -0600
Handle RetractableTo T.
|
|
(compDefineFunctor1): Don't use it anymore.
(compCategoryItem): Filter out nil attributes here.
|
|
earlier tweaks.
(mkExplicitCategoryFunction): Likewise.
|
|
|
|
HomotopicTo P.
(OrdinaryWeightedPolynomials): Likewise.
* algebra/modmonom.spad.pamphlet (ModuleMonomial): Now
HomotopicTo MM.
* algebra/matrix.spad.pamphlet (coerce$RectangularMatrix): Remove
redundant signature.
* algebra/lodop.spad.pamphlet (OrdinaryDifferentialRing): Now
HomotopicTo HomotopicTo R.
* algebra/alql.spad.pamphlet (DataList): Now HomotopicTo List S.
* algebra/array1.spad.pamphlet (Tuple): Now HomotopicTo
PrimitiveArray S.
* algebra/kl.spad.pamphlet (CachableSet): Now HomotopicTo S.
* algebra/java.spad.pamphlet (JavaBytecode): Now HomotopicTo Byte.
* algebra/fname.spad.pamphlet (FileNameCategory): Extends
HomotopicTo String.
* algebra/data.spad.pamphlet (Byte): Now HomotopicTo Character.
|
|
(ConvertibleFrom): Likewise.
(RetractableTo): Use it.
* algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include
KRCFROM and KVTFROM.
* share/algebra/: Update databases.
|
|
* interp/i-map.boot (compileCoerceMap): Tell backend that
minivector is global.
* interp/i-spec1.boot (compileADEFBody): Likewise.
* interp/slam.boot (reportFunctionCompilation): Likewise.
* interp/define.boot (spadCompileOrSetq): Tell backend to ignore
last argument for simple functions.
* interp/c-util.boot (skipDeclarations): New.
(lastDeclarationNode): Likewise.
(declareGlobalVariables): Likewise.
(transformToBackendCode): Use them to allow for Lisp
declarations in middle-end forms.
* interp/sys-driver.boot (AxiomCore::%sysInit): Reading Lisp level
Floating point numbers default to double precision.
* algebra/strap: Update.
|
|
|
|
|
|
definition for Rep. Tidy.
|
|
OrderedFinite.
|
|
|
|
* interp/types.boot: Tidy.
* interp/sys-constants.boot: Define limits for builtin numeric types.
* interp/sys-os.boot: Import sys-constants.
* interp/foam_l.lisp: Import sys-constants. Align builtin numeric
types with OpenAxiom runtime's.
* interp/fortcall.boot: Tidy.
* interp/i-output.boot: Likewise.
* interp/Makefile.pamphlet (foam_l.$(FASLEXT)): Now require
sys-constants.$(FASLEXT).
* algebra/si.spad.pamphlet: Use $ShortMinimum and $ShortMaximum
for SingleInteger limits.
* algebra/sf.spad.pamphlet: Use $DoubleFloatMaximum,
$DoubleFloatMinimum for DoubleFloat limits.
* algebra/strap: Update cached Lisp translation.
|
|
Gabriel Dos Reis <gdr@cs.tamu.edu>
Fix AW/431
* algebra/ore.spad.pamphlet (SpareUnivariateSkewPolynomial):
Implement **.
2008-09-01 Gabriel Dos Reis <gdr@cs.tamu.edu>
Make ^ an alias for **.
* interp/postpar.boot (postAtom): Replace "^" with "**".
* interp/format.boot (reportOpSymbol): Announce that "^" is an
alias for "**".
* interp/nrungo.boot (compiledLookup): Be sure to look for "**"
when operation is "^".
* interp/define.boot (noteCapsuleFunctionDefinition): New.
(clearCapsuleFunctionTable): Likewise.
(noteExport): Likewise.
(clearExportsTable): Likewise.
(compDefineCapsuleFunction): Rename "^" to "**". Take a note
of the capsule function being compiled.
(compCapsule): Clear previous capsule functions table.
(doItIf): Keep track of predicate validity.
(compCategory): Clear previous exports table.
(compCategoryItem): Take notes of declared attributes and signatures.
* algebra/catdef.spad.pamphlet (DivisionRing): Remove duplicate
definition for "^".
(Group): Likewise.
(Monoid): Likewise.
(SemiGroup): Likewise.
* algebra/poly.spad.pamphlet (PolynomialRing): Remove duplicate
definitins of "^".
(SparseUnivariatePolynomial): Likewise.
* algebra/multpoly.spad.pamphlet (SparseMultivariatePolynomial):
Remove duplicate definitions for "^".
* algebra/interval.spad.pamphlet (Interval): Remove duplicate
definition for "^".
* algebra/curve.spad.pamphlet (FunctionFieldCategory): Remove
duplicate declaration for represents.
* algebra/strap/: Update cached Lisp translations.
* share/algebra: Update databases.
|
|
operator ^.
* algebra/aggcat.spad.pamphlet (BitAggregate): Likewise.
* algebra/color.spad.pamphlet: Replace use of '^' as logical
negation by 'not'.
* algebra/ddfact.spad.pamphlet: Likewise.
* algebra/fortran.spad.pamphlet: Likewise.
* algebra/gaussfac.spad.pamphlet: Likewise.
* algebra/gbeuclid.spad.pamphlet: Likewise.
* algebra/gbintern.spad.pamphlet: Likewise.
* algebra/ghensel.spad.pamphlet: Likewise.
* algebra/groebsol.spad.pamphlet: Likewise.
* algebra/ideal.spad.pamphlet: Likewise.
* algebra/idecomp.spad.pamphlet: Likewise.
* algebra/indexedp.spad.pamphlet: Likewise.
* algebra/listgcd.spad.pamphlet: Likewise.
* algebra/mfinfact.spad.pamphlet: Likewise.
* algebra/modgcd.spad.pamphlet: Likewise.
* algebra/multfact.spad.pamphlet: Likewise.
* algebra/multsqfr.spad.pamphlet: Likewise.
* algebra/newpoint.spad.pamphlet: Likewise.
* algebra/npcoef.spad.pamphlet: Likewise.
* algebra/permgrps.spad.pamphlet: Likewise.
* algebra/pgcd.spad.pamphlet: Likewise.
* algebra/pleqn.spad.pamphlet: Likewise.
* algebra/qalgset.spad.pamphlet: Likewise.
* algebra/radeigen.spad.pamphlet: Likewise.
* algebra/rep2.spad.pamphlet: Likewise.
* algebra/solverad.spad.pamphlet: Likewise.
* algebra/space.spad.pamphlet: Likewise.
* algebra/view2D.spad.pamphlet: Likewise.
* algebra/strap/: Update cached Lisp translateion
* share/algebra/: Update databases.
|
|
* algebra/strap: Update cached Lisp translation.
|
|
algebra bootstrap domains here.
|