aboutsummaryrefslogtreecommitdiff
path: root/src/algebra
AgeCommit message (Collapse)AuthorFilesLines
2010-06-11 * algebra/tree.spad.pamphlet (map!Tree): Don't forget the returndos-reis1-0/+1
value.
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-05Minor cleanupdos-reis1-20/+18
2010-06-05 * algebra/exposed.lsp.pamphlet: Expose SquareMatrix.dos-reis1-0/+1
2010-06-04Update cached algebra Lisp filesdos-reis6-43/+41
2010-06-04Expose BooleanLogicdos-reis1-0/+1
2010-06-04 * interp/buildom.boot: Clean up QEQCAR uses.dos-reis9-88/+95
2010-06-02Use builtin functions for DF.dos-reis2-174/+190
2010-06-01 * algebra/list.spad.pamphlet: Use builtin functions.dos-reis2-201/+205
2010-06-01Adjust opcode for character supportdos-reis2-19/+22
2010-06-01 * interp/g-util.boot: Add more opcodes.dos-reis3-18/+30
* algebra/syntax.spad.pamphlet: Clean up. * algebra/variable.spad.pamphlet: Likewise. * algebra/ystream.spad.pamphlet: Likewise.
2010-05-30 * interp/c-util.boot (middleEndExpand): Tidy.dos-reis65-456/+456
* 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-reis5-38/+40
Lisp. Use builtin functions.
2010-05-13 * interp/sys-utility.boot (hashTable): Define.dos-reis2-6/+5
* interp/word.boot: Use it. * interp/topics.boot: Likewise. * interp/sys-driver.boot: Likewise. * interp/slam.boot: Likewise. * interp/setvars.boot: Likewise. * interp/scan.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/newfort.boot: Likewise. * interp/mark.boot: Likewise. * interp/interop.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/htcheck.boot: Likewise. * interp/guess.boot: Likewise. * interp/g-util.boot: Likewise. * interp/database.boot: Likewise. * interp/compress.boot: Likewise. * interp/clam.boot: Likewise. * interp/cattable.boot: Likewise. * interp/c-util.boot: Likewise. * interp/br-op2.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-con.boot: Likewise. * interp/sys-globals.boot ($ConstructorCache): Move elsewhere. ($instantRecord): Likewise. * algebra/newdata.spad.pamphlet: Use EQUAL as equality function for hash table. * algebra/table.spad.pamphlet: Call hashTable builtin function instead of MAKE-HASHTABLE.
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-05-02 * interp/compiler.boot (isSubset): Expand domain representation form.dos-reis4-8/+10
* algebra/term.spad.pamphlet (retractIfCan$Arity): Tidy. * algebra/tree.spad.pamphlet (cyclicCopy2$Tree): Remove unnecessary "return".
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-26 * algebra/carten.spad.pamphlet (CartesianTensor): Satisfydos-reis11-49/+42
instantiation of Eltable. * algebra/clifford.spad.pamphlet (QuadraticForm): Likewise. * algebra/domain.spad.pamphlet (DomainTemplate): Likewise. * algebra/files.spad.pamphlet (Library): Likewise. * algebra/aggcat.spad.pamphlet (LinearAggregate): Extend instantiation of Eltable. * algebra/naalg.spad.pamphlet (FiniteRankNonAssociativeAlgebra): Likewise. * algebra/pscat.spad.pamphlet (UnivariatePowerSeriesCategory): Likewise. * algebra/sex.spad.pamphlet (SExpressionCategory): Likewise. * algebra/Makefile.pamphlet: Update rules.
2010-04-25 * algebra/aggcat.spad.pamphlet: Tidy.dos-reis5-16/+15
2010-04-25 * algebra/partperm.spad.pamphlet (PartitionsAndPermutations): Move dos-reis2-34/+11
partitions to domain Partitions. * algebra/cycles.spad.pamphlet (CycleIndicators): User partitions from Partition. Tidy.
2010-04-23 * algebra/prtition.spad.pamphlet (parts$Partition): New.dos-reis1-1/+26
(partitions$Partition): Likewise.
2010-04-22 * algebra/young.spad.pamphlet: New.dos-reis4-4/+89
2010-04-22 * algebra/irsn.spad.pamphlet (IrrRepSymNatPackage): Tidy.dos-reis7-89/+93
* algebra/partperm.spad.pamphlet (PartitionsAndPermutations): Likewise. * algebra/cycles.spad.pamphlet (complete$CycleIndicators): Now take only positive integers. (powerSum$CycleIndicators): Likewise. (elementary$CycleIndicators): Likewise. (alternating$CycleIndicators): Likewise. (cyclic$CycleIndicators): Likewise. (dihedral$CycleIndicators): Likewise. (graphs$CycleIndicators): Likewise.
2010-04-20 * interp/compiler.boot (joinIntegerModes): New.dos-reis9-544/+536
(compIntegerValue): Likewise. (compStepIterator): Likewise. (compIterate): Use it.
2010-04-18 (complete$CycleIndicators): Argument type is now NonNegativeInteger.dos-reis1-21/+15
(powerSum$CycleIndicators): Likewise. (elementary$CycleIndicators): Likewise. (alternating$CycleIndicators): Likewise. (cyclic$CycleIndicators): Likewise. (dihedral$CycleIndicators): Likewise. (graphs$CycleIndicators): Likewise.
2010-04-18 * algebra/cycles.spad.pamphlet (CycleIndicators): Clean up.dos-reis1-25/+14
2010-04-18 * algebra/term.spad.pamphlet (TermAlgebraOperator): New.dos-reis3-3/+22
2010-04-18 * algebra/prtition.spad.pamphlet (powers$Partition): Take ados-reis1-16/+20
Partition as argument. Remove local function 'bite'. Make powers iterative.
2010-04-17 * algebra/prtition.spad.pamphlet (powers$Partition): Return listdos-reis1-9/+7
of pairs.
2010-04-17 * algebra/prtition.spad.pamphlet (Partition): Simplifydos-reis1-77/+52
implementation. Reuse operations available from the representation domain.
2010-04-08 * algebra/boolean.spad.pamphlet (atoms$PropositionalFormula):dos-reis1-7/+7
Rename from terms.
2010-04-07 * algebra/boolean.spad.pamphlet (isAtom$PropositionalFormula):dos-reis1-6/+53
Rename from isTerm. (simplify$PropositionalFormulaFunctions1): New.
2010-04-04 * algebra/boolean.spad.pamphlet (BooleanLogic): New.dos-reis1-0/+1
(PropositionalLogic): Extend it. * algebra/aggcat.spad.pamphlet (BitAggregate): Likewise. * algebra/si.spad.pamphlet (SingleInteger): Assert membership to BooleanLogic.
2010-04-04 * algebra/boolean.spad.pamphlet (BooleanLogic): New.dos-reis6-233/+262
(PropositionalLogic): Extend it. * algebra/aggcat.spad.pamphlet (BitAggregate): Likewise. * algebra/si.spad.pamphlet (SingleInteger): Assert membership to BooleanLogic.
2010-04-04 * algebra/boolean.spad.pamphlet (PropositionalFormulaFunctions1): New.dos-reis3-13/+96
(PropositionalFormulaFunctions2): Likewise.
2010-04-03 * interp/sys-utility.boot ($ClosedIOMode): New.dos-reis1-7/+11
* algebra/files.spad.pamphlet (closed$IOMode): Likewise.
2010-03-18 * algebra/any.spad.pamphlet (Property): Tidy.dos-reis1-15/+20
(Environment): Likewise. Rename setProperty! to putProperty. Rename setProperties! to putProperties.
2010-03-13 * algebra/compiler.spad.pamphlet: Add more IR contructordos-reis1-6/+86
functions. Elaborate definitions.
2010-03-13 * algebra/compiler.spad.pamphlet (InternalRepresentationForm): Tidy.dos-reis1-9/+79
(InternalTypeForm): Likewise. (CompilerPackage): Expand.
2010-03-12 * algebra/compiler.spad.pamphlet: New.dos-reis3-3/+56
(InternalTypeForm): New. (Elaboration): New.
2010-03-12 * algebra/compiler.spad.pamphlet: New.dos-reis4-20/+100
2010-03-12 * algebra/syntax.spad.pamphlet (InternalRepresentationForm): New.dos-reis4-2/+24