aboutsummaryrefslogtreecommitdiff
path: root/src/algebra
AgeCommit message (Collapse)AuthorFilesLines
2010-03-12 * algebra/syntax.spad.pamphlet (InternalRepresentationForm): New.dos-reis4-2/+24
2010-03-07 * interp/g-opt.boot ($VMsideEffectFreeOperators): New.dos-reis5-27/+64
($simpleVMoperators): Augment it. (semiSimpleRelativeTo?): New. (isSimpleVMForm): Use it. * interp/c-util.boot (forwardingCall?): New. (usesVariablesLinearly?): Likewise. (expandableDefinition?): Likewise. (foldSpadcall): Tidy. (foldExportedFunctionReferences): If a function is discovered to be expandable, make it so. * interp/define.boot (spadCompileOrSetq): Tidy.
2010-03-05 * interp/sys-globals.boot ($optimizeRep): Define.dos-reis7-131/+222
* interp/sys-driver.boot (initializeGlobalState): Sey domain representation inlining if requested. * interp/c-util.boot (setCompilerOptimizations): Set domain representation inlining if at optimization level 3. * algebra/constant.spad.pamphlet (AlgebraicNumber): Remove assignment to Rep. Tidy. * algebra/Makefile.pamphlet: Add dependencies.
2010-03-01 * algebra/vector.spad.pamphlet (maxIndex$Vector): Define.dos-reis2-30/+45
2010-02-28 * algebra/boolean.spad.pamphletdos-reis1-3/+15
(conjunction$PropositionalFormula): New exported function. (disjunction$PropositionalFormula): Likewise.
2010-02-21 * algebra/boolean.spad.pamphlet (PropositionalFormula):dos-reis4-72/+92
Reimplement in terms of kernels. * algebra/Makefile.pamphlet ($(OUT)/KERNEL.$(FASLEXT)): New dependence rule. ($(OUT)PROPFRML.$(FASLEXT)): Likewise. (axiom_algebra_layer_19): Move PROPFRML to... (axiom_algebra_layer_6): ...here.
2010-02-17 * interp/sys-constants.boot ($SystemInlinableConstructorNames):dos-reis2-3/+9
Include Void. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include VOID. (axiom_algebra_layer_14): Loose it.
2010-02-17 * algebra/aggcat.spad.pamphlet: Remove unnecessary call to void.dos-reis30-165/+98
* algebra/algext.spad.pamphlet: Likewise. * algebra/catdef.spad.pamphlet: Likewise. * algebra/curve.spad.pamphlet: Likewise. * algebra/d01agents.spad.pamphlet: Likewise. * algebra/d02agents.spad.pamphlet: Likewise. * algebra/ffcg.spad.pamphlet: Likewise. * algebra/ffhom.spad.pamphlet: Likewise. * algebra/ffnb.spad.pamphlet: Likewise. * algebra/ffp.spad.pamphlet: Likewise. * algebra/formula.spad.pamphlet: Likewise. * algebra/fortmac.spad.pamphlet: Likewise. * algebra/fortpak.spad.pamphlet: Likewise. * algebra/fortran.spad.pamphlet: Likewise. * algebra/forttyp.spad.pamphlet: Likewise. * algebra/generic.spad.pamphlet: Likewise. * algebra/kl.spad.pamphlet: Likewise. * algebra/mathml.spad.pamphlet: Likewise. * algebra/newdata.spad.pamphlet: Likewise. * algebra/out.spad.pamphlet: Likewise. * algebra/permgrps.spad.pamphlet: Likewise. * algebra/pfo.spad.pamphlet: Likewise. * algebra/regset.spad.pamphlet: Likewise. * algebra/routines.spad.pamphlet: Likewise. * algebra/setorder.spad.pamphlet: Likewise. * algebra/sups.spad.pamphlet: Likewise. * algebra/symbol.spad.pamphlet: Likewise. * algebra/tex.spad.pamphlet: Likewise.
2010-02-17 * interp/compiler.boot (compAtomWithModemap): Reject niladicdos-reis26-225/+264
functions used as constants. * algebra/aggcat.spad.pamphlet (IndexedAggregate): Add parenthesis for call to niladic function 'void'. * algebra/algext.spad.pamphlet (SimpleAlgebraicExtension): Likewise. * algebra/curve.spad.pamphlet (RadicalFunctionField): Likewise. (AlgebraicFunctionField): Likewise. * algebra/permgrps.spad.pamphlet (PermutationGroup): Likewise. * algebra/pfo.spad.pamphlet (FunctionSpaceReduce): Likewise. * algebra/setorder.spad.pamphlet: Likewise. * algebra/ffcat.spad.pamphlet (FiniteFieldCategory): Add parenthesis for call to niladic function 'representationType'. * algebra/ffnb.spad.pamphlet (FiniteFieldNormalBasisExtensionByPolynomial): Likewise for normalElement. * algebra/float.spad.pamphlet (Float): Likewise for OMencodingXML, pi, log2, log10, digits. * algebra/fnla.spad.pamphlet (FreeNilpotentLie): Likewise for dimension. * algebra/fraction.spad.pamphlet (Fraction): Likewise for OMencodingXML. * 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. * algebra/intrf.spad.pamphlet (TranscendentalIntegration): Likewise for empty. * algebra/kl.spad.pamphlet (SortedCache): Likewise for cache, void. * algebra/newdata.spad.pamphlet (TabulatedComputationPackage): Likewise for usingTable?. * algebra/omserver.spad.pamphlet (OpenMathServerPackage): Likewise for OMencodingUnknown. * algebra/plot.spad.pamphlet (Plot): Likewise for adaptive?. * algebra/plot3d.spad.pamphlet (Plot3D): Likewise for adaptive3D?.
2010-02-16 * interp/compiler.boot (compAtomWithModemap): Rewrite.dos-reis2-180/+178
(transImplementation): Remove.
2010-02-14 * algebra/sttaylor.spad.pamphletdos-reis2-6/+7
(revert$StreamTaylorSeriesOperations): Tidy.
2010-02-11 * algebra/boolean.spad.pamphlet (~$Boolean): Work around silly bugdos-reis2-20/+22
in CLisp-2.48.
2010-02-09 * algebra/list.spad.pamphlet (IndexedList): Don't use NEQ.dos-reis3-116/+91
2009-11-17 * algebra/syntax.spad.pamphlet (SpadAstExports): Add case for JoinAst.dos-reis1-0/+11
2009-11-17 * algebra/syntax.spad.pamphlet (StepAst): New.dos-reis4-55/+124
(SpadAstExports): Add case for StepAst. (SpadAst): Implement.
2009-11-09 Fix SF/2893009dos-reis4-11/+64
* algebra/syntax.spad.pamphlet (ParameterAst): New. (HeadAst): Use it. * testsuite/interpreter/sf-2893009.input: Likewise. * testsuite/interpreter/sf-2893009.spad: New.
2009-10-29 * algebra/seg.spad.pamphlet (RangeBinding): New.dos-reis4-30/+53
(SegmentBinding): Tidy. * algebra/exposed.lsp.pamphlet (RangeBinding): Expose. * algebra/Makefile.pamphlet (axiom_algebra_layer_19): Include RNGBIND.
2009-10-27 * algebra/taylor.spad.pamphlet (InnerTaylorSeries): Now satisfiesdos-reis1-35/+25
BiModule(Coef,Coef). Remove duplicate exports. Use rep and per operators.
2009-10-15 * interp/i-syscmd.boot (reportOpsFromUnitDirectly): Tidy.dos-reis376-376/+376
2009-10-14 * algebra/string.spad.pamphlet (hash$IndexedString): Simplify.dos-reis1-10/+4
2009-10-122009-10-12 Kostas Oikonomou <ko@research.att.com>dos-reis1-2/+21
* algebra/tex.spad.pamphlet: Update special function list.
2009-10-10 * algebra/void.spad.pamphlet (Void): Remove Rep definition.dos-reis1-7/+7
2009-09-29 * algebra/xpoly.spad.pamphlet (OrderedFreeMonoid): Really make andos-reis1-1/+1
OrderedMonoid.
2009-09-27 * algebra/free.spad.pamphlet (FreeMonoidCategory): New.dos-reis4-88/+75
(FreeModule): Use it. * algebra/xpoly.spad.pamphlet (OrderedFreeMonoid): Likewise.
2009-09-22(no commit message)dos-reis1-0/+2
2009-09-21 * algebra/data.spad.pamphlet (SystemInteger): Tidy.dos-reis3-6/+2
* algebra/integer.spad.pamphlet (Integer): Likewise. * algebra/si.spad.pamphlet (IntegerNumberSystem): Likewise.
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