aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/strap
AgeCommit message (Collapse)AuthorFilesLines
2010-07-22 * interp/g-opt.boot (simplifyVMForm): New.dos-reis20-103/+132
(optRetract): Simplify the predicate when possible. (optNot): New transformer. (optAnd): Likewise. (optOr): Likewise. (optIlt): Likewise. (optIle): Likewise. (optIgt): Likewise. (optIge): Likewise.
2010-06-29 * algebra/catdef.spad.pamphlet (BasicType) [before?]: Declare here.dos-reis12-114/+126
(OrderedType) [max,min]: Export and provide defaults. (OrderedSet): Simplify. (SetCategory) [before?]: Move to BasicType.
2010-06-27 * algebra/catdef.spad.pamphlet (LinearlyExplicitRingOver)dos-reis4-70/+71
[leftReducedSystem]: Rename from reducedSystem.
2010-06-26Update databasesdos-reis1-6/+6
2010-06-26 * algebra/aggcat.spad.pamphlet (HomogeneousAggregate): Satisfydos-reis15-215/+241
BasicType if element type satisfies it.
2010-06-25 * interp/g-opt.boot: Rename %eq to %peq for pointer comparaison.dos-reis2-3/+3
* interp/g-util.boot: Expand it. * algebra/aggcat.spad.pamphlet: Cleanup. * algebra/any.spad.pamphlet: Likewise. * algebra/boolean.spad.pamphlet: Likewise. * algebra/data.spad.pamphlet: Likewise. * algebra/domain.spad.pamphlet: Likewise. * algebra/files.spad.pamphlet: Likewise. * algebra/laurent.spad.pamphlet: Likewise. * algebra/list.spad.pamphlet: Likewise. * algebra/mappkg.spad.pamphlet: Likewise. * algebra/ore.spad.pamphlet: Likewise. * algebra/padic.spad.pamphlet: Likewise. * algebra/pattern.spad.pamphlet: Likewise. * algebra/sex.spad.pamphlet: Likewise. * algebra/stream.spad.pamphlet: Likewise. * algebra/string.spad.pamphlet: Likewise. * algebra/syntax.spad.pamphlet: Likewise. * algebra/table.spad.pamphlet: Likewise.
2010-06-25 * interp/c-util.boot (expandableDefinition?): Try to make it ados-reis2-6/+3
forwarding function if possible.
2010-06-23 * interp/nruncomp.boot (optDeltaEntry): Don't optimize currentdos-reis17-259/+252
domain modemap references here. * interp/g-opt.boot ($VMsideEffectFreeOperators): Include more floating point operators. ($simpleVMoperators): Move FUNCALL here. (isVMConstantForm): Tidy. * interp/g-util.boot: Expand more floating point insns. * interp/c-util.boot (replaceSimpleFunctions): Replace more constants. * algebra/integer.spad.pamphlet (Integer): More cleanup. Use builtin functions. * algebra/sf.spad.pamphlet: Likewise.
2010-06-22 Group sequence of LETT definitions into LET/LET* expressions wheredos-reis18-2363/+1976
appropriate. * interp/g-opt.boot (jumpToToplevel?): New. (singleAssignment?): Likewise. (groupVariableDefinitions): Likewise. Use them. (optimizeFunctionDef): Group toplevel variable definitions into a bind expression. * interp/g-util.boot (expandBind): Tidy. * interp/c-util.boot (transformToBackendCode): Refrain from enclosing let-expressions in SEQ if not needed.
2010-06-21Revert previous erroneous commitdos-reis13-13/+0
2010-06-21 * algebra/sgcf.spad.pamphlet (SymmetricGroupCombinatoricFunctions)dos-reis13-0/+13
[listYoungTableaus]: Fix thinko. Don't use lattice in its own initialization before it is defined.
2010-06-20 * interp/g-opt.boot (changeVariableDefinitionToStore): New.dos-reis17-671/+428
(optimizeFunctionDef): Use it.
2010-06-20 * interp/compiler.boot (massageLoop): New.dos-reis14-1987/+1938
(compRepeatOrCollect): Use it to generate appropriate %loop forms. Bind new special variable $mayHaveFreeIteratorVariables. (complainIfShadowing): Set it as appropriate.
2010-06-20 * boot/tokens.boot (readOnly?): New builtin Boot function.dos-reis14-105/+131
* interp/c-util.boot (isLispSpecialVariable): Tidy. (transformToBackendCode): Likewise.
2010-06-18 * algebra/catdef.spad.pamphlet (DifferentialExtension): Nowdos-reis1-8/+7
extends DifferentialSpaceExtension.
2010-06-17 * algebra/strap/DIFRING-.lsp: Remove.dos-reis1-48/+0
2010-06-16 * algebra/catdef.spad.pamphlet (DifferentialRing): Now extendsdos-reis4-39/+34
DifferentialSpace.
2010-06-15 * algebra/catdef.spad.pamphlet (DifferentialSpace): New.dos-reis7-177/+180
2010-06-13 * algebra/laurent.spad.pamphletdos-reis6-458/+470
(UnivariateLaurentSeriesConstructor) [termsToOutputForm]: Tidy. * algebra/mts.spad.pamphlet (SparseMultivariateTaylorSeries) [coerce]: Likewise. * algebra/padic.spad.pamphlet (PAdicIntegerCategory) [coerce]: Likewise. * algebra/pscat.spad.pamphlet (UnivariateTaylorSeriesCategory)[coerce]: Likewise. * algebra/puiseux.spad.pamphlet (UnivariatePuiseuxSeries) [termsToOutputForm]: Likewise.
2010-06-10 * interp/g-opt.boot (optCollectVector): Generate %loop for thedos-reis1-118/+119
non-simple case.
2010-06-09 * interp/compiler.boot (canReturn): Handle %when and %bind.dos-reis7-596/+414
(compMatchAlternative): Generate %bind form. (compMatch): Likewise. (compReduce1): Rewrite. (getIdentity): Tidy. * interp/g-opt.boot (changeThrowToExit): HAndle %reduce. (varIsAssigned): %store is side-effectful. * interp/g-util.boot (expandReduce): New. Expand %reduce forms. * interp/i-map.boot (getUserIdentifiersIn): Handle %reduce. (findLocalVars1): Likewise. * interp/i-spec1.boot (checkForFreeVariables): Likewise.
2010-06-09 Widen scope of iterator variables in presence of terminatingdos-reis10-1291/+1029
predicate iterators. There is exactly one instance in the entire OpenAxio library. * interp/g-util.boot (expandIN): Take one more parameter to determine early binding. (expandIterators): Determine if wider scope is needed for iterator variables.
2010-06-07 * interp/c-util.boot (isLispSpecialVariable): New.dos-reis2-48/+48
(mutateToBackendCode): Use it to record special vars. Be careful with locally bound variables.
2010-06-06 * interp/c-util.boot (mutateToBackendCode): Don't replace explicitdos-reis36-469/+255
SETQ by LETT.
2010-06-06 * interp/c-util.boot (needPROGS?): New.dos-reis17-318/+255
(transformToBackendCode): Use it. Don't add unneeded PROG/RETURN.
2010-06-06 * interp/compiler.boot (compRepeatOrCollect): Compile listdos-reis8-701/+465
comprehension to %collect form.
2010-06-04Update cached algebra Lisp filesdos-reis6-43/+41
2010-06-04 * interp/buildom.boot: Clean up QEQCAR uses.dos-reis9-88/+95
2010-06-02Use builtin functions for DF.dos-reis1-163/+168
2010-06-01 * algebra/list.spad.pamphlet: Use builtin functions.dos-reis1-158/+157
2010-06-01Adjust opcode for character supportdos-reis1-7/+7
2010-05-30 * interp/c-util.boot (middleEndExpand): Tidy.dos-reis59-418/+413
* interp/g-util.boot (expandToVMForm): Likewise. (expandStore): Refine store to pair components. * algebra/any.spad.pamphlet (Scope): Use builtin operators. (Environment): Likewise. * algebra/domain.spad.pamphlet (FunctionDescriptor): Likewise. (ConstructorCall): Likewise. (FunctorData): Likewise. (OperatorSignature): Likewise. (Category): Likewise. (Domain): Likewise. * algebra/integer.spad.pamphlet (Integer): Likewise. (NonNegativeInteger): Likewise. * algebra/outform.spad.pamphlet: Likewise. * algebra/si.spad.pamphlet (SingleInteger): Likewise. * algebra/syntax.spad.pamphlet (Syntax): Likewise.
2010-05-30 * algebra/boolean.spad.pamphlet (Boolean): Remove reference todos-reis4-14/+14
Lisp. Use builtin functions.
2010-05-05 * interp/compiler.boot (compSetq1): Call self, not compSetq.dos-reis2-53/+43
* interp/c-util.boot (isAtomicForm): Move to g-util.boot. * interp/g-opt.boot (optSEQ): Splice toplevel PROGN forms. * interp/g-util.boot (isAtomicForm): Move from c-util.boot. Export.
2010-05-05 * interp/c-util.boot (backendCompileSPADSLAM): Generate moredos-reis33-1381/+1124
readable Lisp code.
2010-05-03 Generate more readable code for functor definitions.dos-reis39-1181/+955
* interp/nruncomp.boot (washFunctorBody): New. (buildFunctor): Use it. * interp/g-opt.boot (optBind): New. (optLIST): Likewise.
2010-04-30 * interp/macros.lisp (|check-subtype|): Return coerced value if can.dos-reis19-355/+297
(|check-union|): Likewise. * interp/compiler.boot (coerceSuperset): Tidy. Generate %Retract instruction. * interp/g-opt.boot (optRetract): New.
2010-04-25 * algebra/aggcat.spad.pamphlet: Tidy.dos-reis4-6/+6
2010-04-20 * interp/compiler.boot (joinIntegerModes): New.dos-reis9-544/+536
(compIntegerValue): Likewise. (compStepIterator): Likewise. (compIterate): Use it.
2010-04-04 * algebra/boolean.spad.pamphlet (BooleanLogic): New.dos-reis1-205/+226
(PropositionalLogic): Extend it. * algebra/aggcat.spad.pamphlet (BitAggregate): Likewise. * algebra/si.spad.pamphlet (SingleInteger): Assert membership to BooleanLogic.
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-reis4-41/+44
* 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-reis1-27/+38
2010-02-17 * algebra/aggcat.spad.pamphlet: Remove unnecessary call to void.dos-reis1-79/+79
* 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-reis2-150/+149
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-11 * algebra/boolean.spad.pamphlet (~$Boolean): Work around silly bugdos-reis1-19/+21
in CLisp-2.48.
2010-02-09 * algebra/list.spad.pamphlet (IndexedList): Don't use NEQ.dos-reis2-112/+88
2009-09-20 * algebra/data.spad.pamphlet (size$Byte): Implement.dos-reis1-1/+5
(index$Byte): Likewise. (lookup$Byte): Likewise. (random$Byte): Likewise.
2009-08-28 * boot/ast.boot (bfCase): Don't introduce temporary for scrutineedos-reis59-189/+189
when it is already reduced.