2013-05-21 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet (ShallowlyMutableAggregate): Extend Aggregate only. Adjust users. (BagAggregate): Explicitly extend HomogeneousAggregate. (AssociationListAggregate): Extend ShallowlyMutableAggregate. 2013-05-21 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet (UnaryRecursiveAggregate) [map!]: Implement default. * algebra/list.spad.pamphlet (List) [map!]: Likewise. 2013-05-20 Gabriel Dos Reis * interp/database.boot (getConstructorAbbreviationFromDB): Use DB data structure directtly. (getConstructorKindFromDB): Likewise. 2013-05-20 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet (Collection) [find]: Move to FiniteAggregate. 2013-05-19 Gabriel Dos Reis * algebra/derham.spad.pamphlet: Use Functorial. * algebra/equation2.spad.pamphlet: Likewise. * algebra/fr.spad.pamphlet: Likewise. * algebra/indexedp.spad.pamphlet: Likewise. * algebra/ituple.spad.pamphlet: Likewise. * algebra/mring.spad.pamphlet: Likewise. * algebra/polycat.spad.pamphlet: Likewise. * algebra/array2.spad.pamphlet: Remove redundant map export. * algebra/exposed.lsp.pamphlet: Expose Functorial. * algebra/matcat.spad.pamphlet: Likewise. * algebra/xpoly.spad.pamphlet: Likewise. 2013-05-19 Gabriel Dos Reis Eradicate attribute shallowlyMutable. * algebra/aggcat.spad.pamphlet: Use ShallowlyMutableAggregate. * algebra/defaults.spad.pamphlet: Likewise. * algebra/smith.spad.pamphlet: Likewise. * algebra/solvelin.spad.pamphlet: Likewise. 2013-05-19 Gabriel Dos Reis * algebra/matfuns.spad.pamphlet: Use ShallowlyMutableAggregate. 2013-05-19 Gabriel Dos Reis * algebra/matcat.spad.pamphlet: Use ShallowlyMutableAggregate. 2013-05-19 Gabriel Dos Reis * algebra/aggcat2.spad.pamphlet: Use ShallowlyMutableAggregate. 2013-05-19 Gabriel Dos Reis * algebra/newdata.spad.pamphlet (SplittingTree): Include ShallowlyMutableAggregate S in exports. * algebra/polset.spad.pamphlet (GeneralPolynomialSet): Inlcude ShallowlyMutableAggregate P. * algebra/triset.spad.pamphlet (TriangularSetCategory): Likewise. 2013-05-19 Gabriel Dos Reis Eradicate attribute finiteAggregate. * algebra/aggcat.spad.pamphlet (HomogeneousAggregate): Remove exports conditional aatribute finiteAggregate. (TableAggregate): Remove spirous definitions. * algebra/stream.spad.pamphlet (LazyStreamAggregate): Put definitions for FiniteAgregate exports under appropriate condition. 2013-05-19 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet (Aggregate) [#]: Remove export. (UnaryRecursiveAggregate): Make definiton conditional. * algebra/stream.spad.pamphlet (LazyStreamAggregate): Likewise. 2013-05-19 Gabriel Dos Reis * interp/define.boot (compDefineFunctor1): Use the current instantiation form when adding modemaps from category. (partialSignature?): New. (refineDefinitionSignature): Use full completion from getSignature. * interp/compiler.boot (compIterator): Simplify. 2013-05-19 Gabriel Dos Reis * interp/define.boot (sourceMatches): New. (getDollarName): Likewise. (getSignature): Them. Tidy. (setDollarName): New. (compDefineFunctor1): Use it. 2013-05-18 Gabriel Dos Reis * interp/define.boot (getSignature): Third parameter need not be fluid. 2013-05-18 Gabriel Dos Reis * interp/define.boot (getSignature): Tidy. 2013-05-18 Gabriel Dos Reis * algebra/cycles.spad.pamphlet (CycleIndicators) [nniBump]: New local function. [SFunction]: Use it. 2013-05-18 Gabriel Dos Reis * algebra/cycles.spad.pamphlet (CycleIndicators) [complete,alternating]: Change input type to NonNegativeInteger. 2013-05-18 Gabriel Dos Reis * interp/define.boot (knownPred): Take a memo-table as third parameter. 2013-05-18 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet (FiniteAgregate): Remove attribute finiteAggregate. 2013-05-18 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet (Collection) [reduce]: Remove. Remove redundant defaults. 2013-05-18 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet (HomogeneousAggregate): Move defaults for = and coerce to FiniteAggregate. Remove the rest. 2013-05-18 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet (FiniteAggregate) [reduce]: Add overloads. 2013-05-18 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet (HomogeneousAggregate) [parts]: Remove. * algebra/permgrps.spad.pamphlet: Use members, not parts. 2013-05-18 Gabriel Dos Reis * algebra/aggcat2.spad.pamphlet: Use members, not parts. * algebra/algcat.spad.pamphlet: Likewise. * algebra/cden.spad.pamphlet: Likewise. * algebra/clifford.spad.pamphlet: Likewise. * algebra/divisor.spad.pamphlet: Likewise. * algebra/galfact.spad.pamphlet: Likewise. * algebra/lodof.spad.pamphlet: Likewise. * algebra/naalgc.spad.pamphlet: Likewise. * algebra/oderf.spad.pamphlet: Likewise. * algebra/rule.spad.pamphlet: Likewise. * algebra/space.spad.pamphlet: Likewise. * algebra/view3D.spad.pamphlet: Likewise. * algebra/zerodim.spad.pamphlet: Likewise. 2013-05-18 Gabriel Dos Reis * algebra/array1.spad.pamphlet: Define members, not parts. * algebra/array2.spad.pamphlet: Likewise. * algebra/bags.spad.pamphlet: Likewise. * algebra/list.spad.pamphlet: Likewise. * algebra/lmdict.spad.pamphlet: Likewise. * algebra/mset.spad.pamphlet: Likewise. * algebra/polset.spad.pamphlet: Likewise. * algebra/regset.spad.pamphlet: Likewise. * algebra/sets.spad.pamphlet: Likewise. * algebra/sregset.spad.pamphlet: Likewise. * algebra/string.spad.pamphlet: Likewise. * algebra/tree.spad.pamphlet: Likewise. * algebra/triset.spad.pamphlet: Likewise. * algebra/vector.spad.pamphlet: Likewise. 2013-05-18 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet: Tidy. 2013-05-17 Gabriel Dos Reis * algebra/mset.spad.pamphlet (Multiset) [unique]: Rename from members to avoid semantics clash. 2013-05-17 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet: Replace uses of parts by members. 2013-05-17 Gabriel Dos Reis * algebra/attreg.spad.pamphlet (AttributeRegistry): Remove shallowlyMutble. * algebra/aggcat.spad.pamphlet (BagAggregate): Extend ShallowlyMutableAggregate. (ExtensibleLinearAggregate): Likewise. * algebra/mset.spad.pamphlet (Multiset): Likewise. * algebra/tree.spad.pamphlet (Tree): Likewise. 2013-05-17 Gabriel Dos Reis * algebra/tree.spad.pamphlet(BinaryTreeCategory): Extend ShallowlyMutableAggregate S. (BinarySearchTree): Remove redundant shallowlyMutable attribute. (BalancedBinaryTree): Likewise. 2013-05-17 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet (ShallowlyMutableAggregate): New. 2013-05-17 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet (FiniteAggregate): More defaults. (Aggregate): Remove default implementation of empty? 2013-05-17 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet (FiniteAggregate): Add default implementation for empty?. 2013-05-17 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet (TableAggregate): Now extend FiniteAggregate Record(key:Key,entry:Entry). * algebra/files.spad.pamphlet (KeyedAccessFile): Remove finiteAggregate attribute. * algebra/table.spad.pamphlet (HashTable): Likewise. (InnerTable): Likewise. (Table): Likewise. 2013-05-16 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet (KeyedDictionary): Now extend IndexedAggregate too. Give default implementation for elt. (TableAggregate): Simplify. 2013-05-16 Gabriel Dos Reis * algebra/ffp.spad.pamphlet (FiniteFieldExtensionByPolynomial) [tableForDiscreteLogarithm]: Don't use pretend where checked coercion is intended. * algebra/pf.spad.pamphlet (InnerPrimeField) [tableForDiscreteLogarithm]: Likewise. 2013-05-16 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet (AssociationListAggregate) [assoc]: Change return type to instance of Maybe. * algebra/list.spad.pamphle (AssociationList): Reflect change. 2013-05-16 Gabriel Dos Reis * algebra/sortpak.spad.pamphlet (SortPackage): Have second parameter satisfy FiniteAggregate A instead of requiring attribute finiteAggregate. * algebra/array2.spad.pamphlet (TwoDimensionalArrayCategory): Now extends FiniteAggregate. Remove finiteAggregate attribute. 2013-05-16 Gabriel Dos Reis * algebra/polset.spad.pamphlet (GeneralPolynomialSet): Remove redundant FiniteAggregate. * algebra/triset.spad.pamphlet (TriangularSetCategory): Likewise. 2013-05-16 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet (FiniteAggregate): Temporarily include attribute finiteAggregate. (StackAggregate): Extend category FiniteAggregate instead of attribute finiteAggregate. (QueueAggregate): Likewise. (PriorityQueueAggregate): Likewise. (FiniteSetAggregate): Likewise. * algebra/lmdict.spad.pamphlet (ListMultiDictionary): Likewise. * algebra/matcat.spad.pamphlet (MatrixCategory): Likewise. * algebra/mset.spad.pamphlet (Multiset): Likewise. * algebra/newdata.spad.pamphlet (SplittingTree): Likewise. * algebra/polset.spad.pamphlet (PolynomialSetCategory): Likewise. * algebra/tree.spad.pamphlet (Tree): Likewise. (BinaryTreeCategory): Likewise. * algebra/triset.spad.pamphlet (TriangularSetCategory): Likewise. * algebra/vector.spad.pamphlet (DirectProductCategory): Likewise. 2013-05-16 Gabriel Dos Reis * algebra/data.spad.pamphlet (Byte): Remove redundant finiteAggregate attribute. * algebra/tree.spad.pamphlet (BinaryTreeCategory): Likewise. (BinarySearchTree): Likewise. (BalancedBinaryTree): Likewise. 2013-05-15 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet (FiniteAggregate): New. * algebra/exposed.lsp.pamphlet: Expose it. 2013-05-15 Gabriel Dos Reis * interp/compiler.boot (unknownTypeError): Simplify. * interp/define.boot (dbClearForCompilation!): Clear more fields. 2013-05-15 Gabriel Dos Reis * interp/compiler.boot (comp2): Leave categories alone. 2013-05-15 Gabriel Dos Reis * interp/compiler.boot (comp2): Don't test for $bootStrapMode. 2013-05-15 Gabriel Dos Reis * interp/daase.lisp (dbDocumentation): New accessor. 2013-05-15 Gabriel Dos Reis * interp/define.boot (dbClearForCompilation!): New. (compDefineFunctor1): Use it. 2013-05-15 Gabriel Dos Reis * interp/nruncomp.boot (NRTputInHead): Tidy. 2013-05-14 Gabriel Dos Reis * interp/g-opt.boot (quoteMode): New. (optRetract): Use it. (optPullback): Likewise. 2013-05-14 Gabriel Dos Reis * interp/define.boot (checkAndDeclare): Constructor parameter shadowing. * algebra/lodof.spad.pamphlet (SetOfMIntegersInOneToN): [enum]: Lose last parameter. Adjust callers. 2013-05-14 Gabriel Dos Reis * interp/c-util.boot (cleanParameterList!): New. * interp/define.boot (spadCompileOrSetq): Use it. 2013-05-14 Gabriel Dos Reis * algebra/array2.spad.pamphlet (TwoDimensionalArrayCategory): Remove redundant declaration for parts. 2013-05-14 Gabriel Dos Reis * algebra/array2.spad.pamphlet (TwoDimensionalArrayCategory): Test for BasicType satisfaction instead of existence of =. 2013-05-14 Gabriel Dos Reis * algebra/array2.spad.pamphlet (InnerTwoDimensionalArray) [map]: Move implementation from TwoDimensionalArrayCategory. 2013-05-14 Gabriel Dos Reis * algebra/array2.spad.pamphlet (TwoDimensionalArrayCategory): Move defaults to InnerTwoDimensionalArray. 2013-05-14 Edi Meier * graph/include/G.h (GCstruct::GCchar): Increase length to 12. 2013-05-14 Gabriel Dos Reis * algebra/array2.spad.pamphlet (InnerTwoDimensionalArray) [row, column]: Fix off-by-one thinko. 2013-05-13 Gabriel Dos Reis * algebra/array2.spad.pamphlet (TwoDimensionalArrayCategory): Move row column implementation to InnerTwoDimensionalArray. (InnerTwoDimensionalArray): Simplify row and column implementation. 2013-05-13 Gabriel Dos Reis * algebra/array2.spad.pamphlet (InnerTwoDimensionalArray): Inherit empty? and empty from base domain. (TwoDimensionalArray): Attribute shallowlyMutable is already specified by TwoDimensionalArrayCategory. * algebra/matcat.spad.pamphlet (MatricCategory): Attributes shallowlyMutable and finiteAggregate are already specified by TwoDimensionalArrayCategory. 2013-05-13 Gabriel Dos Reis * algebra/array1.spad.pamphlet (IndexedOneDimensionalArray): Tidy. 2013-05-13 Gabriel Dos Reis * interp/g-opt.boot (%array2list): New side-effect free opcode. * interp/lisp-backend.boot: Expand it. * algebra/array1.spad.pamphlet (PrimitiveArray): Implement maxIndex, parts, and members. 2013-05-12 Gabriel Dos Reis * algebra/vector.spad.pamphlet (IndexedVector): Remove. (Vector): Use OneDimensionalArray as base domain for implementation. * algebra/Makefile.am: Update. 2013-05-12 Gabriel Dos Reis * algebra/carten.spad.pamphlet (CartesianTensor): Use PrimitiveArray in lieu of 0-based IndexedVector. 2013-05-12 Gabriel Dos Reis * interp/database.boot (getConstructorModemap): Revert previous change. 2013-05-11 Gabriel Dos Reis * algebra/matrix.spad.pamphlet (RectangularMatrix) [ZERO]: Remove. (SquareMatrix) [ZERO, ONE]: Likewise. 2013-05-11 Gabriel Dos Reis Waldek Hebisch * algebra/catdef.spad.pamphlet (OrderedRing): Extend CharactericZero too. 2013-05-11 Gabriel Dos Reis * algebra/array2.spad.pamphlet (InnerTwoDimensionalArray): Rename from InnerIndexedTwoDimensionalArray. Adjust users. 2013-05-11 Gabriel Dos Reis * interp/database.boot (getConstructorModemap): Try to load fresh module first before looking into cached database data. * algebra/Makefile.am (oa_algebra_layer_11): Remove IARRAY2. * algebra/array2.spad.pamphlet (InnerIndexedTwoDimensionalArray): Drop starting index parameters. Tidy. Adjust users. (IndexedTwoDimensionalArray): Remove as unused. 2013-05-11 Gabriel Dos Reis * algebra/array2.spad.pamphlet: Clean up. 2013-05-11 Gabriel Dos Reis * algebra/indexedp.spad.pamphlet (IndexedDirectProductAbelianMonoid) [opposite?]: Implement. 2013-05-10 Gabriel Dos Reis * algebra/matrix.spad.pamphlet (IndexedMatrix): Remove as unused. * algebra/Makefile.am (oa_algebra_layer_12): Remove IMATRIX. 2013-05-10 Gabriel Dos Reis * interp/g-opt.boot (optEmptyArray): New expander. Register. (optSimpleArray): Likewise. (optList2Array): Likewise. * interp/lisp-backend.boot: Expand %elementType, %initialElement, %initialContents, %array, %type2form opcodes. * algebra/array1.spad.pamphlet (PrimitiveArray): Tidy. 2013-05-10 Gabriel Dos Reis * algebra/indexedp.spad.pamphlet (IndexedDirectProductOrderedAbelianMonoid) [<]: Rewrite iteratively. 2013-05-10 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (AbelianMonoid) [opposite?]: New. (Rng)[annihilate?]: New. (EntireRing) [annihilate?]: Implement. * algebra/integer.spad.pamphlet (Integer): Implement new exports. 2013-05-09 Gabriel Dos Reis * interp/lexing.boot (Keywords): Add "do". * interp/spad-parser.boot (parseBlock): New. (parseDo): Likewise. Register for do-statements. * interp/compiler.boot (compDo): New. Handle do-statements. 2013-05-09 Gabriel Dos Reis * algebra/indexedp.spad.pamphlet (IndexedDirectProductObject) [combineWithIf]: New. 2013-05-09 Gabriel Dos Reis * interp/i-special.boot (evalIF): Generate OIL intermediate instruction %otherwise, not Lisp expression T. * interp/slam.boot (isRecurrenceRelation): Likewise. 2013-05-08 Gabriel Dos Reis * algebra/list.spad.pamphlet (List) [copy]: Simplify. * interp/g-opt.boot (%lcopy): New side-effect free builtin. * interp/lisp-backend.boot: Translate it. 2013-05-08 Gabriel Dos Reis * interp/c-util.boot (almostPure?): New. (foldExportedFunctionReferences): Use it. 2013-05-07 Gabriel Dos Reis * algebra/vector.spad.pamphlet (LinearElement) [corodinates]: Tidy. (LineraForm) [coordinates]: Likewise. 2013-05-07 Gabriel Dos Reis * algebra/indexedp.spad.pamphlet (IndexedDirectProductCategory): Now extends ConvertibleFrom IndexedProductTerm(A,S). (IndexedDirectProductObject): Simplify. (IndexedDirectProductAbelianMonoid): Tidy. (IndexedDirectProductOrderedAbelianMonoid): Likewise. 2013-05-07 Gabriel Dos Reis * algebra/indexedp.spad.pamphlet (IndexedProductTerm): New domain. 2013-04-07 Gabriel Dos Reis * gui/widget.h: Remove. Qt's meta object system does no play nice with modern C++ idioms. 2013-04-07 Gabriel Dos Reis * utils/command.cc (args_count): New. (execute_core): Use it. Tidy. (Arguments::Arguments): Tidy. 2013-04-06 Gabriel Dos Reis * gui/server.h: New. * gui/server.cc: Likewise.. * gui/gui.pro.in (HEADERS): Update. (SOURCES): Likewise. 2013-04-05 Gabriel Dos Reis * include/token.H: New. * syntax/token.cc: Likewise. * syntax/Makefile.am: Likewise. * Makefile.am (DIST_SUBDIRS): Add syntax. (oa_src_include_headers): Add Input.H, token.H. 2013-04-04 Gabriel Dos Reis * algebra/Makefile.am: New. * algebra/Makefile.in: Generate content from Makefile.am. 2013-04-03 Gabriel Dos Reis * include/Input.H: New. * include/defaults.H: Likewise. * include/iterator.H: Likewise. * include/structure.H: Likewise. * io/Input.cc: Likewise. * Makefile.am (DIST_SUBDIRS): Include io. (subdirs): Likewise. (oa_src_include_headers): New. (all-headers): New rule. (mostlyclean-local): Remove target include directory too. * gui/gui.pro.in: Update with new dependency. 2013-04-02 Gabriel Dos Reis * gui/conversation.h (Question::leaveEvent): Remove. (Question::focusOutEvent): Likewise. * gui/conversation.cc: Remove corresponding definitions. 2013-04-02 Gabriel Dos Reis * gui/conversation.cc (font_units): Rename from em_metrics. Adjust callers. (Answer::Answer): Use raised frame style. 2013-03-31 Gabriel Dos Reis * lib/sockio-c.c (get_float): Remove unused local variable val. * lib/pixmap.c (read_pixmap_file): Remove unused local variable status. * lib/openpty.c (makeNextPtyNames): Guard declaration by CPP macro. * lib/fnct_key.c (define_function_keys): Remove unused local variable saved_echo. * lib/XSpadFill.c (XInitSpadFill): Remove unused local variable maxDither. * graph/viewman/fun2D.c (funView2D): Remove declaration of unused local variable code. * graph/viewman/fun3D.c (funView3D): Likewise. 2013-03-31 Gabriel Dos Reis * interp/pile.boot (insertpile): Tidy. (pilePlusComments): Likewise. (pileTree): Likewise. (eqpileTree): Likewise.