aboutsummaryrefslogtreecommitdiff
path: root/src/algebra
AgeCommit message (Collapse)AuthorFilesLines
2013-05-13 * interp/g-opt.boot (%array2list): New side-effect free opcode.dos-reis1-0/+5
* interp/lisp-backend.boot: Expand it. * algebra/array1.spad.pamphlet (PrimitiveArray): Implement maxIndex, parts, and members.
2013-05-13Remove obfuscationdos-reis1-2/+1
2013-05-13 Remove IndecedVector.dos-reis4-48/+18
2013-05-13 * algebra/carten.spad.pamphlet (CartesianTensor): Usedos-reis1-1/+1
PrimitiveArray in lieu of 0-based IndexedVector.
2013-05-12 * algebra/matrix.spad.pamphlet (RectangularMatrix) [ZERO]: Remove.dos-reis1-6/+3
(SquareMatrix) [ZERO, ONE]: Likewise.
2013-05-12 * algebra/catdef.spad.pamphlet (OrderedRing): Extenddos-reis3-15/+10
CharactericZero too.
2013-05-11 * algebra/array2.spad.pamphlet (InnerTwoDimensionalArray): Renamedos-reis5-21/+20
from InnerIndexedTwoDimensionalArray. Adjust users.
2013-05-11 Remove IndexedTwoDimensionalArray.dos-reis5-36/+11
2013-05-11Fix location of opposite? implementationdos-reis2-2/+4
2013-05-11 * algebra/array2.spad.pamphlet: Cleanu up.dos-reis1-48/+20
2013-05-11 * algebra/indexedp.spad.pamphletdos-reis1-0/+11
(IndexedDirectProductAbelianMonoid) [opposite?]: Implement.
2013-05-11Remove IndexedMatrix as unuseddos-reis5-83/+10
2013-05-11Introduce opcodes for arrays constructionsdos-reis1-28/+18
2013-05-10Update src/algebra/Makefile for new defaultsdos-reis2-4/+4
2013-05-10 * algebra/indexedp.spad.pamphletdos-reis1-11/+14
(IndexedDirectProductOrderedAbelianMonoid) [<]: Rewrite iteratively.
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.