aboutsummaryrefslogtreecommitdiff
path: root/src/algebra
AgeCommit message (Collapse)AuthorFilesLines
2013-05-10Add opposite? and annihilate? exports.dos-reis2-5/+18
2013-05-09 * algebra/indexedp.spad.pamphlet (IndexedDirectProductObject)dos-reis1-1/+38
[combineWithIf]: New.
2013-05-09Simplify copydos-reis1-12/+5
2013-05-07Tidy linear elements implememtationsdos-reis1-5/+5
2013-05-07Tidy indexed direct product domainsdos-reis3-72/+55
2013-05-07 * algebra/indexedp.spad.pamphlet (IndexedProductTerm): New domain.dos-reis3-3/+37
2013-04-06Add token representation filesdos-reis1-105/+405
2013-04-04convert src/algebra/Makefile.in to Automake stuffdos-reis2-813/+3869
2012-06-03 * interp/preparse.lisp ($LineList): Remove.dos-reis2-3/+0
(INITIALIZE-PREPARSE): Do not set it. (preparse1): Do not reference it. Do not test for ioTerminal? and the input is always a disk file. * interp/spad-parser.boot (findCommentBlock): Do not reference $EchoLineStack. (preparseReadLine1): Do not reference $LineList.
2012-05-24 * algebra/Makefile.in (initdb.$(FASLEXT)): Add --syslib to fix thinko.dos-reis1-1/+1
2012-05-23 * interp/sys-driver.boot (initializeDatabases): Load initidb ifdos-reis1-8/+12
specified. * interp/database.boot (populateDFFromFile): Remove. (printAllInitdbInfo): Write as as Lisp file. * algebra/Makefile.in (COMPILE_SPAD): initdb is now a FASL. (BOOTSTRAP): Likewise. (strap-2/%.$(FASLEXT)): Likewise. (initdb.$(FASLEXT)): New.
2012-05-01 * algebra/integer.spad.pamphlet (Integer): Use %iaddmod, %isubmod,dos-reis2-18/+13
%imulmod. * algebra/si.spad.pamphlet (SingleInteger): Likewise. * interp/c-util.boot (devaluate): Use # in lieu of QVSIZE. * interp/g-opt.boot: %ilfshift and %irshift are now builtin side-effect free operations. * interp/lisp-backend.boot: Translate them. * interp/g-util.boot (mergeSort): Avoid QSDIFFERENCE. * interp/slam.boot: Likewise. * interp/sys-macros.lisp: Likewise. * interp/macros.lisp: Avoid QVMAXINDEX. * interp/vmlisp.lisp (QSDIFFERENCE): Remove. (QSGREATERP): Likewise. (QSLEFTSHIFT): Likewise. (QSLESSP): Likewise. (QSMAX): Likewise. (QSMIN): Likewise. (QSMINUS): Likewise. (QSMINUSP): Likewise. (QSODDP): Likewise. (QSABSVAL): Likewise. (QSPLUS): Likewise. (QSZEROP): Likewise. (QVMAXINDEX): Likewise. (QVSIZE): Likewise. (ZERO?): Likewise.
2012-04-30 * algebra/si.spad.pamphlet (SingleInteger): Use %iaddmod,dos-reis1-4/+7
%isubmod, and %imulmod. * interp/g-opt.boot: These are now builtin side-effect operators. (optIaddmod): New optimizer. Register. (optIsubmod): Likewise. (optImulmod): Likewise. * interp/sys-macros.lisp (QSADDMOD): Remove. (QSDIFMOD): Likewise. (QSMULMOD): Likewise.
2012-04-30 * lisp/core.lisp.in (fixnum?): New.dos-reis1-3/+4
* algebra/sex.spad.pamphlet: Use %float? instead of RNUM. Use %integer? instead of INTP. * interp/g-timer.boot: Use float? instead of RNUMP. * interp/i-coerce.boot: Use fixnum? instead of SINTP or SMINTP. * interp/i-intern.boot: Likewise. * interp/lisp-backend.boot: Likewise. * interp/slam.boot: Likewise. * interp/trace.boot: Likewise. * interp/vmlisp.lisp: Likewise. (INTP): Remove. (BINTP): Likewise. (LESSP): Likewise. (LINTP): Likewise. (MAKESTRING): Likewise. (MAPELT): Likewise. (NUMP): Likewise. (RNUMP): Likewise. (SINTP): Likewise. (SMINTP): Likewise.
2012-03-02 * algebra/catdef.spad.pamphlet (MonoidOperation): Noew CoercibleTodos-reis1-3/+6
SemiGroupOperation T.
2012-02-25 * algebra/catdef.spad.pamphlet (BinaryOperatorCategory): New.dos-reis3-7/+153
(BinaryOperation): Likewise. (IdempotentOperatorCategory): Likewise. (SemiGroupOperatorCategory): Likewise. (SemiGroupOperation): Likewise. (MonoidOperatorCategory): Likewise. (MonoidOperation): Likewise. * algebra/exposed.lsp.pamphlet: Expose them. * algebra/Makefile.in (oa_algebra_layer_0): Include IDEMOPC, SGPOPC, SPGOP, MONOPC, BINOPC. (axiom_algebra_layer_1): Include MONOP.
2012-02-15 * algebra/catdef.spad.pamphlet (Ring): Extends SemiRing.dos-reis3-11/+39
(Dioid): New. Extend OrderedAbelianMonoid and SemiRing. * algebra/exposed.lsp.pamphlet: Expose Dioid.
2012-02-15tidy src/algebra/Makefile.indos-reis1-9/+14
2012-02-12 * algebra/coerce.spad.pamphlet (Type): Redefine as empty Join.dos-reis1-3/+2
* interp/category.boot (Join): Handle empty argument list.
2012-02-07 * algebra/Makefile.in (oa_algebra_layer_0): Include FINITE-.dos-reis1-1/+1
2012-02-07 * interp/lisplib.boot (dbLocateModule): New.dos-reis1-1/+2
(findModule): Use it. Simplify. (loadLib): Tidy. (genericLoadDB): New. (loadDB): Use it. (loadDBIfCan): New. * interp/c-util.boot (lookupDefiningFunction): Give up gracefully if the domain of computation is not compiled yet. * algebra/Makefile.in ($(OUT)/SPADAST.$(FASLEXT)): Require $(OUT)/SUCHTAST.$(FASLEXT).
2012-02-05 * interp/nruncomp.boot (getLocalIndex): Fast track niladicdos-reis2-7/+3
constructors. * algebra/syntax.spad.pamphlet: Miscellaneous cleanup.
2012-02-03 * config/open-axiom.m4 (OPENAXIOM_ALIGNAS_SPECIFIER): New.dos-reis1-0/+2
(OPENAXIOM_CHECK_MISC): Use it. src/ * utils/vm.H: Add more VM data structures. * utils/vm.cc (BasicContext::make_operator): Define. * algebra/Makefile.in (SPADFILES): Include syntax.spad and spad-parser.spad.
2012-01-14 * algebra/catdef.spad.pamphlet (Finite) [random]: Provide defaultdos-reis2-16/+38
implementation. * algebra/boolean.spad.pamphlet (KleeneTrivalentLogic): Now satisfy Finite. Use Maybe Boolean as representation.
2011-12-30 * algebra/fraction.spad.pamphlet (Localize): Tidy.dos-reis1-25/+30
2011-12-27 * algebra/prs.spad.pamphlet (PseudoRemainderSequence): Tidy.dos-reis1-16/+12
2011-12-27 * interp/g-opt.boot (changeVariableDefinitionToStore): Tidy.dos-reis1-1/+3
Remove handling of IF forms as no longer relevant. * algebra/matfuns.spad.pamphlet (MatrixLinearAlgebraFunctions) [rank]: Tidy.
2011-12-27 * algebra/matfuns.spad.pamphletdos-reis1-1/+3
(InnerMatrixLinearAlgebraFunctions) [rank]: Tidy.
2011-12-25 * algebra/rep2.spad.pamphlet (RepresentationPackage2)dos-reis1-2/+3
[areEquivalent?]: Tidy.
2011-12-12 * interp/g-util.boot (liftAassignments!): New.dos-reis1-1/+1
(splitAssignments!): Use it. * algebra/multpoly.spad.pamphlet (SparseMultivariatePolynomial): Fix thinko.
2011-12-11 * interp/g-opt.boot (inlineLocals!): Single-used temporaries should go.dos-reis1-0/+1
(spliceSeqArgs): Splice sequences drapped in %scope cloths too.
2011-12-05 * interp/g-util.boot (splitAssignments): Rework.dos-reis1-1/+1
(spliceSeqArgs): Tidy. * algebra/gdpoly.spad.pamphlet (GeneralDistributedMultivariatePolynomial): Fix thinko.
2011-12-03 * interp/compiler.boot (setqMultiple): Handle lhs and rhs of typedos-reis1-5/+3
Cross instance. * interp/g-util.boot ($DomainNames): Include Cross. * interp/cattable.boot (genCategoryTable): Do not eval Cross. It is bogus to prepopulate the table with builtin functors anyway. * algebra/triset.spad.pamphlet (PolynomialSetUtilitiesPackage)[removeRedundantFactors]: Do not define `c' and `d' in conditional. Make the initializer conditional.
2011-12-03 * interp/g-util.boot (hasNoLeave?): Move from g-opt.boot.dos-reis1-0/+2
(mkLabelled): New. (mkBind): Likewise. * interp/g-opt.boot (groupVariableDefinitions): Use them. * algebra/aggcat.spad.pamphlet (ListAggregate) [merge!]: Declare local variables `r' and `s' before assigning to them.
2011-11-30 * interp/define.boot (registerInlinableDomain): Lose last argument.dos-reis1-30/+36
Recursively nominate constructor argument for inlining. Adjust callers. * interp/c-util.boot: Tidy. * algebra/Makefile.in: Tidy.
2011-11-28 * interp/c-util.boot (inlineDirectCall): Inline a non-side effectdos-reis1-1/+1
free argument in a unary pure function call if it is used exactly once. * algebra/integer.spad.pamphlet (Integer) [reducedSystem]: Fix typo.
2011-11-26 * algebra/indexedp.spad.pamphlet: Avoid direct use or RPLACD.dos-reis2-3/+12
* algebra/poly.spad.pamphlet: Likewise. * interp/define.boot (spadCompileOrSetq): Tidy replacement info. * interp/i-output.boot ($BinaryOperators): New. (binaryInfix?): Tidy.
2011-11-13 * interp/sys-driver.boot (initializeDatabases): Honor --initial-db.dos-reis1-5/+7
(initializeGlobalState): Don't bind $compileDefaultsOnly. * interp/sys-globals.boot ($compileDefaultsOnly): Remove. * interp/define.boot (compDefineCategory): Adjust. (compDefineCategory1): Likewise. (compDefineFunctor1): Clear dbCapsuleDefinitions. * interp/lisplib.boot (compDefineLisplib): Tidy. * interp/daase.lisp (BROWSEOPEN): Use dbSourceFile. (GETDATABASE): Likewise. (LOCALNRLIB): Likewise. (WRITE-BROWSEDB): Likewise. * algebra/Makefile.in (COMPILE_SPAD): Specifiy initial DB. (BOOTSTRAP): Likewise.
2011-11-13 * interp/br-data.boot (buildLibdbConEntry): Exit early if argumentdos-reis1-9/+72
is a builtin constructor. (mkDependentsHashTable): Filter out builtin constructors. * interp/cattable.boot (genCategoryTable): Likewise. * interp/database.boot (getConstructorModemap): Load the contructor if necessary and try again before failing. * interp/define.boot (NRTgetLookupFunction): Handle multiple inheritance of domains. (getBaseExports): Rename from getExportCategory. Adjust caller. Handle multiple inheritance of domains. (extendsCategory): Do not reference $functorForm. Take it from the DB argument. (getTargetFromRhs): Do not optimize codegen.
2011-11-10 * algebra/boolean.spad.pamphlet (IndexedBits) [Not, Or, And]: Remove.dos-reis4-31/+10
Implement ~. \/, and /\ instead. * algebra/si.spad.pamphlet (SingleInteger): Likewise. * algebra/pattern.spad.pamphlet (Pattern): Adjust. * algebra/string.spad.pamphlet (CharacterClass): Likewise.
2011-11-06 * interp/c-doc.boot (checkBalance): Fix a latent logic bug.dos-reis1-8/+7
* algebra/Makefile.in: Tidy.
2011-11-05 * algebra/Makefile.in: Rework bootstrap dependency.dos-reis1-373/+855
2011-11-04 * interp/functor.boot (compCategories): Take second parameter asdos-reis1-1/+1
environment. Adjust callers. (compCategories1): Likewise. (NewbFVectorCopy): Remove as deadcode. (worthlessCode): Tidy. (DescendCode): Take additional environment parameter. Adjust callers. * interp/define.boot (isMacro): Simplify. (wrapDomainSub): Remove. Adjust callers. * algebra/Makefile.in (strap-2/%.$(FASLEXT)): Fix typo.
2011-10-27 * algebra/stream.spad.pamphlet (Stream): Tidy accessors.dos-reis1-15/+17
2011-10-26minor cleanupsdos-reis3-4/+4
2011-10-25 * algebra/modmon.spad.pamphlet (ModMonic): Rename second parameterdos-reis1-17/+15
from Rep to P. Addd capsule-level definition for Rep. [setPoly]: Adjust parameter type. [coerce]: Likewise. [UnVectorise]: Restrict reduction to %, then coerce to Rep. [monomial]: Add appropriate coercion to Rep.
2011-10-25 * algebra/perman.spad.pamphlet (Permanent): Specify type of localdos-reis22-105/+117
variable j. * algebra/patmatch1.spad.pamphlet (PatternMatchTools): Tidy. * algebra/padic.spad.pamphlet: Restrict type of literal constants. * algebra/sttf.spad.pamphlet: Likewise. * algebra/puiseux.spad.pamphlet: Likewise. * algebra/odealg.spad.pamphlet (SystemODESolver) [applyLodo0]: Specify type of local variable ans. * algebra/numtheor.spad.pamphlet (IntegerNumberTheoryFunctions): Tidy. * algebra/naalgc.spad.pamphlet (MonadWithUnit) [rightPower]: Specify type of local variable res. [leftPower]: Likewise. * algebra/lodop.spad.pamphlet (NonCommutativeOperatorDivision) [leftLcm]: Specify type of local variable v. * algebra/intfact.spad.pamphlet (IntegerRoots) [approxSqrt]: Specify type of local variables old and new. * algebra/elfuts.spad.pamphlet (EllipticFunctionsUnivariateTaylorSeries): Restrict types of literal constants. * algebra/ffnb.spad.pamphlet (FiniteFieldNormalBasisExtensionByPolynomial): Likewise. * algebra/fnla.spad.pamphlet (FreeNilpotentLie): Likewise. * algebra/intaux.spad.pamphlet (IntegrationResult): Likewise. * algebra/defintef.spad.pamphlet (ElementaryFunctionDefiniteIntegration) [checkSMP]: Specify type in the definition of local variable n. * algebra/combinat.spad.pamphlet (IntegerCombinatoricFunctions): Tidy definition of local variables. * algebra/clifford.spad.pamphlet (CliffordAlgebra): Specify type in the definition of local variables k, exchanges, bz. * algebra/catdef.spad.pamphlet (CartesianTensor): Specify type in the definition of local varibles rx and offz. Remove useless variables zol, xol, oly, and zoly.
2011-10-24 * interp/compiler.boot (compOrCroak1): Drop last argument. Tidy.dos-reis3-4/+11
(mostSpecificTriple): New. (compAtomWithModemap): Use it to resolve ambiguous constants. (formatConstantCandidates): New. (compForm1): Do try to compile constants 0 and 1 with compToApply. * algebra/polycat.spad.pamphlet (FiniteAbelianMonoidRing) [binomThmExpt]: Tidy. (UnivariatePolynomialCategory) [pseudoDivide]: Likewise. * algebra/float.spad.pamphlet (Float) [log]: Specificy type for local variable `l'. * interp/format.boot (formatUnabbreviatedSig): Handle constants.
2011-10-23 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %fdecode.dos-reis2-18/+17
* interp/lisp-backend.boot: Expand it. * algebra/sf.spad.pamphlet (DoubleFloat): Remove %fmanexpr import. Use %fdecode to access Lisp-level double-float decoding. [mantissa]: Rewrite. [exponent]: Likewise. [negative?]: Likewise. [positive?]: Likewise. [manexp]: Likewise. * algebra/view2D.spad.pamphlet (TwoDimensionalViewport): Tidy.
2011-10-22 * boot/tokens.boot: Add new selectors: mapOperation, mapSignature,dos-reis9-32/+26
mapTarget, mapSource, mapKind. * algebra/data.spad.pamphlet (SystemInteger) [min, max]: Disambiguate with explicit type annotation. (SystemNonNetativeInteger) [min, max]: Likewise. * algebra/color.spad.pamphlet (Color) [sample]: Remove parenthesis. * algebra/ffnb.spad.pamphlet (FiniteFieldNormalBasisExtensionByPolynomial) [sizeOfGroundField]: Likewise. * algebra/matrix.spad.pamphlet (SquareMatrix) [dimension]: Likewise. * algebra/view3D.spad.pamphlet: Likewise. * algebra/viewDef.spad.pamphlet: Likewise. * algebra/regset.spad.pamphlet (RegularTriangularSetCategory) [unitIdealIfCan]: Remove, was useless. * algebra/sregset.spad.pamphlet (SquareFreeRegularTriangularSet) [unitIdealIfCan]: Likewise. * algebra/triset.spad.pamphlet (GeneralTriangularSet) [unitIdealIfCan]: Likewise.