aboutsummaryrefslogtreecommitdiff
path: root/src/algebra
AgeCommit message (Collapse)AuthorFilesLines
2011-09-09 * algebra/op.spad.pamphlet (BasicOperator): Use string$Stringdos-reis1-4/+5
instead of coercion from Identifier to String.
2011-09-09 * algebra/string.spad.pamphlet (String) [string]: New overload todos-reis2-2/+9
convert from Identifier.
2011-09-08 * interp/c-util.boot (builtinCategoryName?): Move to g-util.boot.dos-reis1-21/+77
(builtinFunctorName?): Likewise. (builtinConstructor?): Likewise. (superType): Exit early if builtin functor or non-domain form. * algebra/Makefile.in: Flesh out bootstrap dependencies.
2011-09-07 * interp/lisplib.boot (finalizeLisplib): Finalize documentaiondos-reis2-4/+4
only if not bootstrapping. (isFunctor): Tidy. * interp/g-util.boot (superType): Tidy. * interp/database.boot (getDualSignature): Rename from getDualSignatureFromDB. Adjust callers. * interp/c-util.boot (isKnownCategory): Remove. (diagnoseUnknownType): Use isCategoryForm. * interp/bootlex.lisp (GET-INTEGER-IN-RADIX): Use SPAD_SYNTAX_ERROR. * interp/metalex.lisp (GET-STRING-TOKEN): Likewise. * interp/parsing.lisp (MUST): Likewise. * algebra/boolean.spad.pamphlet (Refrence) [coerce]: Bypass conversion to Identifier. * algebra/domain.spad.pamphlet (ContructorKind): Tidy.
2011-09-06 * interp/define.boot: Use DB for current constructor.dos-reis1-1/+1
(mkCategoryPackage): Category defaults are packages, not domains. * interp/functor.boot (encodeFunctionName): Use current constructor DB. First argument is now a DB. Adjust caller. * algebra/domain.spad.pamphlet (DomainConstructo) [functorData]: Use getInfovec.
2011-08-30 * algebra/Makefile.in: Simplify bootstrap rules. Builddos-reis1-44/+26
initdb.daase before bootstrap.
2011-08-25 * interp/define.boot ($mutableDomain): Remove. Adjust users.dos-reis2-18/+0
($mutableDomains): Likewise. * interp/database.boot (dbMutable?): Remove. * interp/clam.boot (addToclam): Remove as unused. * algebra/modmon.spad.pamphlet: Do not make MoMonic mutable. * algebra/defaults.spad.pamphlet: Do not make RepeatedSquaring and RepeatedDoubling, FiniteLinearAggregateSort mutable.
2011-08-25 * interp/daase.lisp (dbArity, dbInstanceCache): New accessors.dos-reis1-0/+1
* interp/database.boot (loadDBIfnecessary): New. (dbMutable?): Likewise. * interp/lisplib.boot (finalizeLisplib): Record mutable property.
2011-08-24 * algebra/Makefile.in: Support construction initial DB profile.dos-reis1-7/+19
* interp/database.boot (printInitdbInfo): New. (printAllInitdbInfo): Likewise. * interp/sys-driver.boot (initializeDatabases): Exit early if constructing initial DB profile. (buildInitdbHandler): New. Handle --build-initdb. * utils/command.cc (driver_table): Add map for --build-initdb.
2011-08-23 * interp/sys-driver.boot (initializeDatabases): New.dos-reis1-1/+1
(initializeGlobalState): Use it. * interp/spad-parser.boot (parseSpadFile): Tidy. * interp/g-cndata.boot (installConstructor): Exit early it global table not initialized. * interp/database.boot (makeInitialDB): New. (populateDBFromFile): Likewise. * interp/daase.lisp: Introduce more DB accessors. * interp/br-util.boot (dbSourceFile): Remove. * interp/br-con.boot (kdPageInfo): Use getConstructorSourceFileFromDB instead of dbSourceFile. (kPage): Likewise. * algebra/Makefile.in (SPADFILES): Include domain.spad
2011-08-23 * interp/sys-driver.boot (initializeGlobalState): Constructdos-reis1-0/+1
database tables if algebra is not complete yet. * interp/Makefile.in (${SAVESYS}): Simplify. * algebra/Makefile.in (strap-stamp): Make the destination directory.
2011-08-20 * algebra/polycat.spad.pamphlet (UnivariatePolynomialCategory)dos-reis2-2/+4
[divide]: Tidy. * algebra/Makefile.in (strap-0/%.$(FASLEXT)): Copy generated Lisp files if keeping intermediate files.
2011-08-18 * interp/c-util.boot (categoryAssociatedTypes): Rename fromdos-reis1-4/+4
categoryHierarchy. Adjust callers. (categoryPrincipals): New. (categoryAncestors): Likewise. (categoryLocals): Likewise. (categoryParameters): Likewise. (extendsCategoryForm): Use them. * interp/category.boot: Likewise. * interp/cattable.boot: Likewise. * interp/define.boot: Likewise. * interp/functor.boot: Likewise. * interp/modemap.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/database.boot (getCategoryAttributes): Remove. (getPrincipalAncestors): Likewise. (getCategoryParents): Likewise. * algebra/domain.spad.pamphlet (Category): Adjust.
2011-08-14 * interp/lisp-backend.boot ($freeVarName): New global constant.dos-reis30-76/+58
(loopVarInit): New. (expandIN): Use it. (expandON): Likewise. (expandSTEP): Likewise. (massageFreeVarInits): New. (expandLoop): Use it. * interp/fnewmeta.lisp (PARSE-QuantifiedVariable): Tidy. (PARSE-AnyId): Likewise. (PARSE-Variable): New. Allow scope-of-type specification for loop variable. (PARSE-Iterator): Use it. * interp/compiler.boot (massage_llop): Don't check $mayHaveFreeIteratorVariables. (compRepeatOrCollect): Don't bind it. (classifyIteratorVariable): New. (complainIfShadowing): Remove as no longer needed. (compStepIterator): Use it. Tidy. (compONIterator, compINIterator): New. Split out of compIterator. (compIterator): Refactor. * interp/functor.boot (optFunctorBody): Fix thinko. * interp/g-opt.boot (optCollectVector): A STEP iterator may have a storage class. * algebra/clip.spad.pamphlet: Fix loop variable scope. * algebra/ffpoly.spad.pamphlet: Likewise. * algebra/fparfrac.spad.pamphlet: Likewise. * algebra/gdpoly.spad.pamphlet: Likewise. * algebra/ghensel.spad.pamphlet: Likewise. * algebra/groebsol.spad.pamphlet: Likewise. * algebra/intfact.spad.pamphlet: Likewise. * algebra/matfuns.spad.pamphlet: Likewise. * algebra/moddfact.spad.pamphlet: Likewise. * algebra/numtheor.spad.pamphlet: Likewise. * algebra/permgrps.spad.pamphlet: Likewise. * algebra/pfbr.spad.pamphlet: Likewise. * algebra/pgcd.spad.pamphlet: Likewise. * algebra/pleqn.spad.pamphlet: Likewise. * algebra/pseudolin.spad.pamphlet: Likewise. * algebra/radeigen.spad.pamphlet: Likewise. * algebra/radix.spad.pamphlet: Likewise. * algebra/regset.spad.pamphlet: Likewise. * algebra/rep2.spad.pamphlet: Likewise. * algebra/sgcf.spad.pamphlet: Likewise. * algebra/smith.spad.pamphlet: Likewise. * algebra/sregset.spad.pamphlet: Likewise. * algebra/syssolp.spad.pamphlet: Likewise. * algebra/zerodim.spad.pamphlet: Likewise. * algebra/crfp.spad.pamphlet: Remove capsule-level declaration of local variables. * algebra/galfact.spad.pamphlet: Likewise. * algebra/mathml.spad.pamphlet: Likewise. * algebra/numode.spad.pamphlet: Likewise. * algebra/tex.spad.pamphlet: Likewise. * algebra/updecomp.spad.pamphlet: Likewise.
2011-08-14 * interp/compiler.boot (compRepeatOrCollect): Set $loopKind directly.dos-reis11-44/+16
(complainIfShadowing): Don't complain when collecting. * algebra/contfrac.spad.pamphlet: Remove capsule-level declaration of local variables. * algebra/cycles.spad.pamphlet: Likewise. * algebra/cyclotom.spad.pamphlet: Likewise. * algebra/ddfact.spad.pamphlet: Likewise. * algebra/fortpak.spad.pamphlet: Likewise. * algebra/lingrob.spad.pamphlet: Likewise. * algebra/numode.spad.pamphlet: Likewise. * algebra/numquad.spad.pamphlet: Likewise. * algebra/out.spad.pamphlet: Likewise. * algebra/perman.spad.pamphlet: Likewise. * algebra/view2D.spad.pamphlet: Likewise.
2011-08-14Remove redundant capsule-level declarationsdos-reis10-50/+23
2011-08-13 * algebra/integer.spad.pamphlet (Integer): Remove attribute infinite.dos-reis2-5/+1
2011-08-13 * interp/c-util.boot (instantiationArgs): New.dos-reis1-2/+6
(domainDirectory): Likewise. (domainLookupFunction): Likewise. (domainOperatorTable): Likewise. (domainAttributes): Likewise. (domainPredicates): Likewise. (domainData): Likewise. * interp/buildom.boot: Use new domain accessors. * interp/functor.boot: Likewise. * interp/interop.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunfast.boot: Likewise.
2011-08-11 * interp/lisp-backend.boot (expandBytevec2str): Use MAP instead ofdos-reis1-2/+2
COERCE. Eliminate second argument. (expandStr2bytevec): Use MAP instead of COERCE. * algebra/data.spad.pamphlet (ByteBuffer) [coerce]: Adjust call to %bytevec2str.
2011-08-10 * algebra/float.spad.pamphlet (Float): Tidy.dos-reis6-21/+20
* algebra/fortmac.spad.pamphlet (MachineInteger): Likewise. * algebra/fspace.spad.pamphlet (FunctionSpace): Likewise. * algebra/integer.spad.pamphlet (Integer): Likewise. * algebra/mkfunc.spad.pamphlet (InputForm): Likewise. * algebra/newpoly.spad.pamphlet (RecursivePolynomialCategory): Likewise. * input/knot.input.pamphlet: Likewise. * input/knot2.input.pamphlet: Likewise. * input/mult3d.input.pamphlet: Likewise. * input/multKnot.input.pamphlet: Likewise. * input/r21bugsbig.input.pamphlet: Likewise. * input/tutchap2.input.pamphlet: Likewise.
2011-08-10 * algebra/Makefile.in (oa_strap_0_sources): Don't include OM.dos-reis7-1106/+9
(axiom_algebra_layer_0): Don't include OM, OMCONN, OMDEV. (axiom_algebra_layer_4): Don't include OMENC. (axiom_algebra_layer_14): Don't include OMPKG. (axiom_algebra_layer_19): Don't include OMERR, OMERRK. (axiom_algebra_layer_20): Don't include OMEXPR. * algebra/omcat.spad.pamphlet: Remove. * algebra/omdev.spad.pamphlet: Remove. * algebra/omerror.spad.pamphlet: Remove. * algebra/omserver.spad.pamphlet: Remove. * algebra/openmath.spad.pamphlet: Remove.
2011-08-10 * interp/setvart.boot: Remoe OpenMath description.dos-reis10-398/+8
* interp/setvars.boot (setOutputOpenMath): Remove. (describeOutputOpenMath): Likewise. * algebra/Makefile.in (axiom_algebra_layer_14): Don't include OMSERVER. * algebra/float.spad.pamphlet (Float): Remove OpenMath exports. * algebra/fraction.spad.pamphlet (Fraction): Likewise. * algebra/gaussian.spad.pamphlet (Complex): Likewise. * algebra/integer.spad.pamphlet (Integer): Likewise. * algebra/list.spad.pamphlet (List): Likewise. * algebra/sf.spad.pamphlet (DoubleFloat): Likewise. * algebra/si.spad.pamphlet (SingleInteger): Likewise. * algebra/string.spad.pamphlet (String): Likewise. * algebra/symbol.spad.pamphlet (Symbol): Likewise.
2011-08-05 * algebra/boolean.spad.pamphlet (Boolean) [test]: Remove.dos-reis1-4/+0
2011-08-04cleanupdos-reis1-2/+3
2011-07-04 * interp/setvars.boot: Remove support for script formula.dos-reis4-520/+3
* interp/setvart.boot: Likewise. * interp/diagnostics.boot (sayBrightlyNT1): Move from macros.lisp. (sayBrightly1): Likewise. (sayBrightlyNT): Likewise. (sayBrightly): Likewise. (sayBrightlyI): Likewise. (sayMSG): Likewise. (sayTeX): Likewise. (sayMSG2File): Likewise. * interp/i-output.boot (formulaFormat): Remove. (output): Adjust. * interp/macros.lisp (sayMSGNT): Remove. (sayFORTRAN): Likewise. (sayFORMULA): Likewise. ($formulaOutputstream): Likewise. * interp/sys-globals.boot ($formulaOutputstream): Remove. * interp/spad.lisp ($formulaFormat): Remove. * algebra/exposed.lsp.pamphlet: Do not expose ScriptFormulaFormat and ScriptFormulaFormat1. * algebra/exposed.lsp.pamphlet: Remove.
2011-07-04 * interp/vmlisp.lisp (PRINTEXP): Remove.dos-reis3-11/+9
* interp/br-data.boot: Use writeString, writeChar, and writeLine. * interp/c-util.boot: Likewise. * interp/diagnostics.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-util.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/newfort.boot: Likewise. * interp/record.boot: Likewise. * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %writeString, %writeNewline, %writeLine. * interp/lisp-backend.boot: Translate them.
2011-06-26 * algebra/sf.spad.pamphlet (DoubleFloat) [nan?]: New export.dos-reis3-15/+18
* algebra/clip.spad.pamphlet (TwoDimensionalPlotClipping): Use it instead of %fNan?. * algebra/plot.spad.pamphlet (Plot): Likewise.
2011-06-26 * share/algebra/libaxiom.al: Remove.dos-reis1-78/+0
* algebra/libdb.text: Likewise.
2011-06-21 * lisp/core.lisp.in (%fNaN?): New.dos-reis2-5/+5
* interp/spaderror.lisp (trapNumericErrors): Handle ARITHMETIC-ERROR too. * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %fNaN?. * algebra/clip.spad.pamphlet (TwoDimensionalPlotClipping): Use it. * algebra/plot.spad.pamphlet (Plot): Likewise.
2011-06-20 * interp/spaderror.lisp ($numericFailure): Remove.dos-reis3-17/+14
(trapNumericErrors): Define for non-GCL RTS. Tidy GCL-based definition. * algebra/draw.spad.pamphlet: trapNumericErrors now returns a value of type Maybe T. * algebra/plot.spad.pamphlet: Likewise. * algebra/plot3d.spad.pamphlet: Likewise.
2011-05-29 * interp/sys-utility.boot (displayTextFile): New.dos-reis1-2/+2
* interp/i-syscmd.boot (summary): Use it. (copyright): Likewise. * algebra/net.spad.pamphlet: Replace closeFile with closeStream. * boot/translator.boot: Likewise. * interp/as.boot: Likewise. * interp/ax.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/br-search.boot: Likewise.
2011-05-29 * lisp/core.lisp.in (readExpr): New.dos-reis1-13/+12
* interp/as.boot: Replace READLINE with readLine. * interp/br-data.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/br-search.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/cstream.boot: Likewise. * interp/g-error.boot: Likewise. * interp/ht-root.boot: Likewise. * interp/htcheck.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/server.boot: Likewise. * interp/topics.boot: Likewise. * interp/compat.boot (READLINE): Remove. * interp/sys-macros.lisp (shoeConsole): Remove. (shoeInputFile): Likewise. (shoeread-line): Likewise. * boot/ast.boot (bfQ): %nothing only needs EQ. * algebra/files.spad.pamphlet (File) [read!, readIfCan!]: Use readExpr instead of VMREAD. Avoid PLACEP (TextFile) [readLine!, readLineIfCan!]: Likewise.
2011-05-28 * lisp/core.lisp.in: Define and export readLine and readbyte.dos-reis1-1/+1
* interp/sys-utility.boot (readByteFromFile): Remove. * boot/tokens.boot: Don't rename readLine and readByte. * boot/includer.boot (shoeReadLine): Remove. (bRgen1): Adjust. Use resdLine. * algebra/net.spad.pamphlet (InputBinaryFile): Use readByte from the runtime system.
2011-05-21 * interp/modemap.boot (augModemapsFromDomain): Don't add modemapsdos-reis7-0/+20
for element types of Vector or List aggregates. * algebrar/: Adjust algebras that depended on this behaviour.
2011-05-19 * algebra/aggcat.spad.pamphlet (Aggregate) [more?,less?,size?]:dos-reis8-40/+15
Move to StreamAggregate. * algebra/array2.spad.pamphlet (TwoDimensionalArrayCategory): Don't implement them. * algebra/tree.spad.pamphlet (Tree): Likewise.
2011-05-17cleanupdos-reis4-22/+28
2011-05-07 * algebra/table.spad.pamphlet (HashTable): Use tableValue insteaddos-reis1-2/+5
of HGET. Use tableLength instead of HCOUNT.
2011-05-02cleanupdos-reis1-1/+1
2011-04-30more cleanupdos-reis1-3/+3
2011-03-22 * algebra/op.spad.pamphlet (BasicOperator) [display]: Now return ados-reis3-11/+9
Maybe (List O -> O) value. [input]: Now return a Maybe(List SEX -> SEX). * algebra/kl.spad.pamphlet (Kernel): Adjust. * algebra/pattern.spad.pamphlet (Pattern): Likewise.
2011-03-20 * interp/g-opt.boot ($VMsideEffectFreeOperators): Includedos-reis1-10/+11
%bytevec2str and %str2bytevec opcode. * interp/lisp-backend.boot: Expand them. * algebra/data.spad.pamphlet (ByteBuffer): Tidy.
2011-03-20More cleanupsdos-reis2-6/+6
2011-03-20 * boot/translator.boot (FC): Remove.dos-reis1-2/+0
(FBO): Likewise. (FEV): Likewise. (shoeGeneralFC): Likewise. (shoeFindName): Likewise. (shoeFindName2): Likewise. (shoeTransform2): Likewise. * boot/scanner.boot (shoeLineToks): Don't support `)package' line anymore. * boot/includer.boot: Remove support for `)package', `)include', `)includelisp', `)includelines' lines. (shorPackageStartsAt): Remove. (shorFindLines): Likewise. (shoeFileInput): Likewise. (shoeLispFileInput): Likewise. (shoeLineFileInput): Likewise. (shoeFunctionFileInput): Likewise. (shoePlainLine?): Reflect removal. (shoeSimpleLine): Likewise. * boot/tokens.boot (charByName): New builtin library function. * algebra/sf.spad.pamphlet (RealNumberSystem): Don't re-export abs. It is already exported by OrderedRing.
2011-03-13 * src/algebra/: Systematically use not zero? when comparing fordos-reis31-59/+59
equality with 0.
2011-03-12 * src/algebra/: Systematically use not one? when comparing fordos-reis50-106/+108
equality with 1.
2011-03-12 * src/algebra/: Systematically use negative? when comparing fordos-reis3-21/+25
equality with 0.
2011-03-12 * src/algebra/: Systematically use negative? when comparing fordos-reis92-225/+228
greater than 0.
2011-03-12 * src/algebra/: Systematically use negative? when comparing fordos-reis78-226/+230
less than 0.
2011-03-12 * algebra/si.spad.pamphlet (IntegerNumberSystem) [positive?]:dos-reis3-27/+16
Remove definition. (SingleInteger): Simplify implementation of random. * algebra/sf.spad.pamphlet (DoubleFloat): Likewise. [positive?]: Define. * algebra/integer.spad.pamphlet (Integer): Tidy.
2011-03-12 * algebra/catdef.spad.pamphlet (OrderedAbelianGroup): Exportdos-reis2-31/+34
negative?, abs, sign, with default implementations. (OrderedAbelianMonoid): Export positive?, with default. (OrderedRing): Don't export them.