aboutsummaryrefslogtreecommitdiff
path: root/src/algebra
AgeCommit message (Collapse)AuthorFilesLines
2009-09-20 * algebra/data.spad.pamphlet (size$Byte): Implement.dos-reis2-1/+9
(index$Byte): Likewise. (lookup$Byte): Likewise. (random$Byte): Likewise.
2009-09-08 * interp/boot-pkg.lisp (DFLOAT-FORMAT-GENERAL): New.dos-reis1-1/+2
2009-09-08 * boot/ast.boot: Support "pointer" as simple datatype.dos-reis3-2/+22
* interp/compiler.boot (getBasicFFIType): SystemPointer is an FFI type. * algebra/data.spad.pamphlet (SystemPointer): New. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include SYSPTR.
2009-09-05 * algebra/data.spad.pamphlet: Cleanup.dos-reis1-21/+23
* interp/compiler.boot (getBasicFFIType): Handle 64-bit integer types.
2009-08-28 * boot/ast.boot (bfCase): Don't introduce temporary for scrutineedos-reis59-189/+189
when it is already reduced.
2009-08-16 * interp/i-map.boot (addMap): Fix typo from last commit.dos-reis26-121/+121
* interp/compiler.boot (compElt): Fix thinko, one more time. * interp/nruncomp.boot (optDeltaEntry): Don't overquote VM forms for constants. * algebra/algext.spad.pamphlet: Call niladic functions with empty argument lists. * algebra/ddfact.spad.pamphlet: Likewise. * algebra/gpgcd.spad.pamphlet: Likewise. * algebra/modmon.spad.pamphlet: Likewise. * algebra/pf.spad.pamphlet: Likewise. * algebra/polycat.spad.pamphlet: Likewise. * algebra/twofact.spad.pamphlet: Likewise. * algebra/list.spad.pamphlet: "nil" is now a ocnstant. * algebra/string.spad.pamphlet: "space", "quote", "escape" are now constants.
2009-07-16 * algebra/odeef.spad.pamphlet (ElementaryFunctionODESolver): Tidy.dos-reis1-11/+26
2009-07-13 * interp/metalex.lisp: "break" is now a keyword.dos-reis1-1/+1
* interp/fnewmeta.lisp (PARSE-Jump): New. * interp/compiler.boot (compAtom): Dipatch compilation of "break" and "iterate" to... (compBreak): ... here (compIterate): and here. (jumpFromLoop): New. (compRepeatOrCollect): Initialize $lookKind, $iterateCount, and $breakCount. Set exit point for loop bodies with 'iterate' expressions. * interp/parse.boot (parseAtom): Remove. (parseTran): Adjust. * algebra/outform.spad.pamphlet: Tidy. * interp/c-util.boot ($loopKind): Declare. ($repeatBodyLabel): Likewise. ($iterateCount): Likewise. ($breakCount): Likewise.
2009-07-12 * algebra/mkfunc.spad.pamphletdos-reis1-3/+13
(mkDefun$MakeFloatCompiledFunction): Tidy. * interp/c-util.boot (declareUnusedParameters): New. * interp/i-map.boot: Use it. * interp/i-spec1.boot: Likewise. * interp/slam.boot: Likewise. * lib/cfuns-c.c (writeablep): Document MinGW/MSYS bug work around.
2009-07-06 Fix SF/2815437dos-reis1-1/+5
* algebra/mkfunc.spad.pamphlet:
2009-07-06 * interp/compiler.boot (localReferenceIfThere): Tidy.dos-reis1-49/+51
* interp/g-util.boot (homogeneousListToVector): New. * interp/g-opt.boot (optCollectVector): Use it.
2009-07-06 * src/algebra/poly.spad.pamphlet (PolynomialRing): Remove unuseddos-reis1-28/+1
bogus times! function.
2009-07-06 * interp/compiler.boot (coerceEasy): Don't pretend we can makedos-reis2-4/+7
matter our of void. * algebra/indexedp.spad.pamphlet (IndexedDirectProductAbelianMonoid): Tidy. (IndexedDirectProductAbelianGroup): Likewise. * src/algebra/poly.spad.pamphlet (PolynomialRing): Fix thinko.
2009-07-05 * algebra/matstor.spad.pamphlet (copyCol!): Return Void.dos-reis1-1/+1
2009-07-04 * interp/c-util.boot (simplifySEQ): New.dos-reis13-384/+305
(transformToBackendCode): Use it.
2009-07-03 * interp/sys-macros.lisp (PRIMVEC2ARR): Remove.dos-reis1-82/+80
(COLLECTVEC): Likewise. * interp/compiler.boot (compRepeatOrCollect): Tidy.
2009-07-02 * interp/sys-macros.lisp (COLLECTV): Use setSimpleArrayEntry, notdos-reis1-1/+2
SETELT.
2009-06-20 * interp/category.boot (SigOpsubsume): Remove as unused.dos-reis7-27/+0
(SourceLevelSubsume): Remove. (SourceLevelSubset): Likewise. * interp/sys-globals.boot: Likewise. * interp/define.boot: Tidy. * interp/functor.boot: Likewise. * interp/info.boot: Likewise. * algebra/si.spad.pamphlet: Don't set $noSubsets. * algebra/fortpak.spad.pamphlet: Don't set $noSubsumption. * algebra/fortran.spad.pamphlet: Likewise. * algebra/gdirprod.spad.pamphlet: Likewise. * algebra/mkfunc.spad.pamphlet: Likewise. * algebra/oct.spad.pamphlet: Likewise. * algebra/vector.spad.pamphlet: Likewise.
2009-06-17 * algebra/domain.spad.pamphlet: ConstructorCall is nowdos-reis2-10/+10
parameterized by the constructor category.
2009-06-15 * interp/define.boot (spadCompileOrSetq): Tidy.dos-reis3-126/+292
* interp/fnewmeta.lisp (PARSE-Sexpr1): Disable negative integers in data. A facility not actually used in Spad code.
2009-06-15 * algebra/any.spad.pamphlet (Any): Remove domainOf, objectOf, anddos-reis2-45/+14
showTypeInOutput. Tidy. * algebra/fortran.spad.pamphlet: Coerce Any objects to Output; don't use objectOf.
2009-06-14 Add support for existential type recovery.dos-reis1-2/+9
* interp/compiler.boot (compRecoverDomain): New. Split from compRecoverGuard. (compRecoverGuard): Split. Handle existential type recovery. (compScheme): New. Register as compiler. * interp/g-opt.boot (optLET*): New. Turn into LET-form if appropriate. Register as backend transformer. * interp/fnewmeta.lisp (|PARSE-Scheme|): New. (|PARSE-Quantifier|): Likewise. (|PARSE-QuantifiedVariableList|): Likewise. (|PARSE-QuantifiedVariable|): Likewise. * interp/metalex.lisp (KEYWORDS): Add 'forall' and 'exist' as new keywords. * interp/newaux.lisp: Register parser for expression schemes. * algebra/any.spad.pamphlet (=$Any): If the underlying domain has BasicType, use that equality operator. (coerce$Any): If the underlying domain has CoercibleTo OutputForm then use it.
2009-06-13 * algebra/any.spad.pamphlet (AnyFunctions1): Remove `pretend'dos-reis1-5/+12
shenanigans. Use is-case pattern matching. * interp/g-opt.boot (varIsAssigned): New. (canInlineVarDefinition): New. (optLET): Use it to inline functionally used local variables. Register as backend optimizer.
2009-06-11 * algebra/: Don't quote '!' at end of names.dos-reis109-1083/+1083
2009-06-11 * algebra/: Remove quotes from operator namaes in signatures.dos-reis60-295/+295
2009-06-11 * interp/newaux.lisp: Remove digraphs '(<' and '>) as alternatedos-reis1-7/+7
spelling for '{' and '}'. * interp/fnewmeta.lisp (|PARSE-Primary1|): Use PARSE-Data for quoted forms. (|PARSE-Sexpr1|): Tidy. * interp/parse.boot (washOperatorName): New. Issue deprecation diagnostics for string syntax for operator names in signatures. (parseHas): Use it. (transCategoryItem): Likewise. * interp/metalex.lisp (advance-token): Likewise. * algebra/boolean.spad.pamphlet: Tidy.
2009-06-08 * algebra/kl.spad.pamphlet (Kernel): Tidy.dos-reis1-21/+21
2009-06-07 * algebra/kl.spad.pamphlet (name$Kernel): Remove.dos-reis12-23/+27
* algebra/d01weights.spad.pamphlet: Adjust. * algebra/fs2expxp.spad.pamphlet: Likewise. * algebra/fs2ups.spad.pamphlet: Likewise. * algebra/fspace.spad.pamphlet: Likewise. * algebra/limitps.spad.pamphlet: Likewise. * algebra/transsolve.spad.pamphlet: Likewise.
2009-06-07 * algebra/domain.spad.pamphlet (DomainTemplate): New.dos-reis3-4/+83
(FunctorData): Likewise. (functorData$DomainConstructor): Likewise.
2009-06-01 Fix SF/2799238dos-reis1-1/+1
* algebra/syntax.spad.pamphlet (SpadAst): Fix typo.
2009-06-01 * interp/compiler.boot (compGreaterThan): Remove.dos-reis22-973/+964
* interp/parse.boot (parseGreaterEqual): Likewise.
2009-06-01 * interp/compiler.boot (compGreaterThan): New. Compiledos-reis9-852/+958
greater-than expressions. * interp/parse.boot (parseGreaterThan): Remove. * algebra/data.spad.pamphlet (Byte): Implement all comparison functions. * algebra/integer.spad.pamphlet (Integer): Likewise. * algebra/sf.spad.pamphlet (DoubleFloat): Likewise. * algebra/si.spad.pamphlet (SingleInteger): Likewise. * algebra/string.spad.pamphlet (Character): Likewise.
2009-05-31 * algebra/term.spad.pamphlet (is?$OperatorCategory): New.dos-reis10-77/+162
* algebra/op.spad.pamphlet (BasicOperator): Don't export is? here. Inherit it from OperatorCategory Symbol. * algebra/catdef.spad.pamphlet (LeftLinearSet): New category. (RightLinearSet): Likewise. (LinearSet): Likewise. (AbelianGroup): Extend LeftLinearSet Integer. (LeftModule): Extend LeftLinearSet R. (Module): Extend LinearSet R. (RightModule): Extend RightLinearSet R. * algebra/exposed.lsp.pamphlet: Expose LeftLinearSet, RightLinearSet, and LinearSet. * algebra/Makefile.pamphlet: Tidy.
2009-05-30 * algebra/catdef.spad.pamphlet (SetCategory): Provide defaultdos-reis1-1/+1
definition for before?.
2009-05-30 * algebra/complet.spad.pamphlet (OnePointCompletion): Define before?.dos-reis1-0/+4
2009-05-29 * algebra/algext.spad.pamphlet: Qualify `characteristic'.dos-reis58-260/+223
* algebra/clifford.spad.pamphlet: Likewise. * algebra/complet.spad.pamphlet: Likewise. * algebra/contfrac.spad.pamphlet: Likewise. * algebra/curve.spad.pamphlet: Likewise. * algebra/ddfact.spad.pamphlet: Likewise. * algebra/derham.spad.pamphlet: Likewise. * algebra/equation2.spad.pamphlet: Likewise. * algebra/ffcat.spad.pamphlet: Likewise. * algebra/ffcg.spad.pamphlet: Likewise. * algebra/fff.spad.pamphlet: Likewise. * algebra/ffnb.spad.pamphlet: Likewise. * algebra/ffp.spad.pamphlet: Likewise. * algebra/ffpoly.spad.pamphlet: Likewise. * algebra/ffx.spad.pamphlet: Likewise. * algebra/fmod.spad.pamphlet: Likewise. * algebra/fortmac.spad.pamphlet: Likewise. * algebra/fr.spad.pamphlet: Likewise. * algebra/fraction.spad.pamphlet: Likewise. * algebra/fspace.spad.pamphlet: Likewise. * algebra/gaussian.spad.pamphlet: Likewise. * algebra/gpol.spad.pamphlet: Likewise. * algebra/intclos.spad.pamphlet: Likewise. * algebra/interval.spad.pamphlet: Likewise. * algebra/laurent.spad.pamphlet: Likewise. * algebra/matrix.spad.pamphlet: Likewise. * algebra/modring.spad.pamphlet: Likewise. * algebra/oct.spad.pamphlet: Likewise. * algebra/opalg.spad.pamphlet: Likewise. * algebra/padic.spad.pamphlet: Likewise. * algebra/perman.spad.pamphlet: Likewise. * algebra/pf.spad.pamphlet: Likewise. * algebra/pfr.spad.pamphlet: Likewise. * algebra/poly.spad.pamphlet: Likewise. * algebra/polycat.spad.pamphlet: Likewise. * algebra/puiseux.spad.pamphlet: Likewise. * algebra/quat.spad.pamphlet: Likewise. * algebra/radix.spad.pamphlet: Likewise. * algebra/reclos.spad.pamphlet: Likewise. * algebra/resring.spad.pamphlet: Likewise. * algebra/sf.spad.pamphlet: Likewise. * algebra/si.spad.pamphlet: Likewise. * algebra/solvefor.spad.pamphlet: Likewise. * algebra/sups.spad.pamphlet: Likewise. * algebra/taylor.spad.pamphlet: Likewise. * algebra/vector.spad.pamphlet: Likewise. * algebra/xpoly.spad.pamphlet: Likewise.
2009-05-29 Fix SF/2798220dos-reis3-3/+9
* algebra/fmod.spad.pamphlet (IntegerMod): Define before? * algebra/ffp.spad.pamphlet (FiniteFieldExtensionByPolynomial): Likewise. * algebra/pf.spad.pamphlet (InnerPrimeField): Likewise. * testsuite/interpreter/sf-2798220.input: New.
2009-05-29 * interp/compiler.boot (getSuccessEnvironment): Tidy.dos-reis12-1068/+1067
(getInverseEnvironment): Likewise. (compLogicalNot): Don't normalize to if-statement.
2009-05-28 * interp/compiler.boot (compVector): Tidy code generation.dos-reis2-89/+84
(checkExternalEntity): Handle Builtin external entities. (compSignatureImport): Likewise. * algebra/boolean.spad.pamphlet (Boolean): Import Lisp function from Foreign Builtin. (KleeneTrivalentLogic): The constant `true' and `false' are now inherited.
2009-05-28 * algebra/boolean.spad.pamphlet (PropositionalLogic): Now exportdos-reis1-4/+4
`true' and `false'. (Boolean): Ihenrit them.
2009-05-28 * interp/newaux.lisp: Bot / and /\ are gliphs.dos-reis1-23/+23
* interp/sys-constants.boot ($OperatorFunctionNames): Include /\ and \/. * interp/fnewmeta.lisp (|PARSE-ReductionOp|): Tidy. * interp/metalex.lisp (|PARSE-OperatorFunctionName|): Likewise. * algebra/boolean.spad.pamphlet (PropositionalLogic): Use plain syntax for operators. (Logic): Likewise. (Boolean): Likewise. (KleeneTrivalentLogic): Likewise.
2009-05-25(no commit message)dos-reis2-4/+4
2009-05-25Tidy Makefiledos-reis2-16/+18
2009-05-25 * algebra/kl.spad.pamphlet (KernelFunctions2): Remove OrderedSetdos-reis2-45/+38
requirements. * algebra/op.spad.pamphlet (BasicOperatorFunctions1): Likewise.
2009-05-25 Partial fix for AW/193 and AW/334.dos-reis49-220/+209
* algebra/algfunc.spad.pamphlet: Remove OrderedSet requirements. * algebra/combfunc.spad.pamphlet: Likewise. * algebra/defintef.spad.pamphlet: Likewise. * algebra/defintrf.spad.pamphlet: Likewise. * algebra/degred.spad.pamphlet: Likewise. * algebra/efstruc.spad.pamphlet: Likewise. * algebra/elemntry.spad.pamphlet: Likewise. * algebra/expexpan.spad.pamphlet: Likewise. * algebra/expr.spad.pamphlet: Likewise. * algebra/expr2ups.spad.pamphlet: Likewise. * algebra/exprode.spad.pamphlet: Likewise. * algebra/fortran.spad.pamphlet: Likewise. * algebra/fr.spad.pamphlet: Likewise. * algebra/fraction.spad.pamphlet: Likewise. * algebra/fs2expxp.spad.pamphlet: Likewise. * algebra/fspace.spad.pamphlet: Likewise. * algebra/funcpkgs.spad.pamphlet: Likewise. * algebra/gaussian.spad.pamphlet: Likewise. * algebra/genups.spad.pamphlet: Likewise. * algebra/intalg.spad.pamphlet: Likewise. * algebra/intef.spad.pamphlet: Likewise. * algebra/integrat.spad.pamphlet: Likewise. * algebra/intpm.spad.pamphlet: Likewise. * algebra/irexpand.spad.pamphlet: Likewise. * algebra/kl.spad.pamphlet: Likewise. * algebra/laplace.spad.pamphlet: Likewise. * algebra/limitps.spad.pamphlet: Likewise. * algebra/liouv.spad.pamphlet: Likewise. * algebra/manip.spad.pamphlet: Likewise. * algebra/nlode.spad.pamphlet: Likewise. * algebra/odeef.spad.pamphlet: Likewise. * algebra/oderf.spad.pamphlet: Likewise. * algebra/openmath.spad.pamphlet: Likewise. * algebra/patmatch1.spad.pamphlet: Likewise. * algebra/patmatch2.spad.pamphlet: Likewise. * algebra/pfo.spad.pamphlet: Likewise. * algebra/polycat.spad.pamphlet: Likewise. * algebra/primelt.spad.pamphlet: Likewise. * algebra/rdeef.spad.pamphlet: Likewise. * algebra/rdesys.spad.pamphlet: Likewise. * algebra/rule.spad.pamphlet: Likewise. * algebra/solverad.spad.pamphlet: Likewise. * algebra/sum.spad.pamphlet: Likewise. * algebra/transsolve.spad.pamphlet: Likewise. * testsuite/interpreter/aw-193.input: New. * testsuite/interpreter/aw-334.input: Likewise.
2009-05-21 * algebra/catdef.spad.pamphlet (before?$SetCategory): New.dos-reis14-205/+218
2009-05-18 * algebra/curve.spad.pamphlet: Use literal symbols.dos-reis20-125/+127
* algebra/defintef.spad.pamphlet: Likewise. * algebra/defintrf.spad.pamphlet: Likewise. * algebra/divisor.spad.pamphlet: Likewise. * algebra/efstruc.spad.pamphlet: Likewise. * algebra/exprode.spad.pamphlet: Likewise. * algebra/fspace.spad.pamphlet: Likewise. * algebra/intaf.spad.pamphlet: Likewise. * algebra/intef.spad.pamphlet: Likewise. * algebra/integrat.spad.pamphlet: Likewise. * algebra/intpm.spad.pamphlet: Likewise. * algebra/laplace.spad.pamphlet: Likewise. * algebra/limitps.spad.pamphlet: Likewise. * algebra/liouv.spad.pamphlet: Likewise. * algebra/odeef.spad.pamphlet: Likewise. * algebra/oderf.spad.pamphlet: Likewise. * algebra/rdeef.spad.pamphlet: Likewise. * algebra/symbol.spad.pamphlet: Likewise. * algebra/transsolve.spad.pamphlet: Likewise.
2009-05-17 * algebra/op.spad.pamphlet: Use symbol literals for property names.dos-reis1-15/+15
2009-05-16 * algebra/op.spad.pamphlet (assert$BasicOperator): Remove overloaddos-reis2-5/+1
with String parameter,
2009-05-16 * algebra/any.spad.pamphlet: Tidy. Redeuce Lisp usage.dos-reis3-32/+39