2013-07-01 Gabriel Dos Reis * interp/sys-utility.boot (makeFilename): Tidy. 2013-07-01 Gabriel Dos Reis * interp/g-util.boot (relativeDirname): New. Abstract differences between Common Lisp semantics and traditional semantics (GCL). * interp/c-util.boot (moveLibdirByCopy): Use it. 2013-06-30 Gabriel Dos Reis * lisp/core.lisp.in (maxIndex): Provide function definition for the benefit of rotted GCL systems. 2013-06-29 Gabriel Dos Reis * include/sockio.h (accept_connection): Take no argument. (server): Adjust type. * lib/sockio-c.c: Implement changes. * hyper/spadint.c (accept_menu_server_connection): Adjust use of server. * sman/session.c (manage_sessions): Likewise. * sman/sman.c (manage_spad_io): Likewise. 2013-06-28 Gabriel Dos Reis * gui/conversation.cc (accumulate_paragraphs): Remove. (read_output): Remove. (OutputTextArea::add_paragraph): Rewrite. (Conversation::read_reply): Likewise. 2013-06-27 Gabriel Dos Reis * src/rt: New directory. Move vm.cc and Lisp.cc here. * rt/Database.cc: New. * include/Database.H: Likewise. * include/Constructor.H: Likewise. * gui/server.h (Server): Cache database input souece. * gui/gui.pro.in (LIBS): Add core runtime library. * Makefile.am (oa_src_include_headers): Add Constructor.H and Database.H. 2013-06-27 Gabriel Dos Reis * include/Lisp.H: New. * utils/Lisp.cc: Likewise. * gui/server.h (Server::lisp): Give access to embedded Lisp evaluator. * gui/main-window.cc (MainWind::read_databases): Use embedded Lisp evaluator. * include/vm.H: Move from src/utils/. * Makefile.am (oa_src_include_headers): Include vm.H. 2013-06-27 Gabriel Dos Reis * interp/lisplib.boot (compDefineLisplib): Close the file contained generated code before handing over to backend. * interp/c-util.boot (moveLibdirByCopy): The inferred destination directory is not absolute. 2013-06-26 Gabriel Dos Reis * include/sexpr.H (Lexer): Remove. (Parser): Likewise. (Reader): New. * syntax/sexpr.cc: Propagate changes. * gui/main-window.h (MainWindow::read_databases): Declare. (MainWindow::display_error): Likewise. * gui/main-window.cc: Implement. * gui/gui.pro.in (LIBS): Include syntax library. * Makefile.am (oa_src_include_headers): Add sexpr.H. Fix build failure from previous commit. 2013-06-24 Gabriel Dos Reis * include/sexpr.H: Move from utils. (UniqueAllocator): Remove. (SyntaxComparator): Likewise. * syntax/sexpr.cc: Move from utils. 2013-06-24 Gabriel Dos Reis * interp/cattable.boot (squeezeList): Remove. (squeeze1): Likewise. * interp/daase.lisp (*COMPRESSVECTOR*): Likewise. (*COMPRESSVECTORLENGTH*): Likewise. (*COMPRESS-STREAM*): Likewise. (*COMPRESS-STREAM-STAMP*): Likewise. (COMPRESSOPEN): Remove. Adjust callers. (unsqueezeCopy): Likewise. (WRITE-COMPRESS): Likewise. (SQUEEZE): Likewise. (UNSQUEEZE): Likewise. (MAKE-DATABASES): Do not write out compress.daase. * interp/database.boot (squeezeAll): Likewise. 2013-06-24 Gabriel Dos Reis * interp/sys-constants.boot ($BuiltinAttributes): Remove finiteAggregate and shallowlyMutable. * interp/daase.lisp (WRITE-COMPRESS): Do not push strings. 2013-06-22 Gabriel Dos Reis * include/token.H (token::base_type): Renam from class_type. (token::value): Add unary, binary, and ternary overloads. * utils/sexpr.H (Sexpr::Token): Use token::value. Clean up. 2013-06-22 Gabriel Dos Reis * include/SourceFile.H: New. 2013-06-21 Gabriel Dos Reis * include/FileMapping.H: New. 2013-06-21 Gabriel Dos Reis * include/dialect.H: New. * include/diagnostics.H: Likewise. * include/storage.H: Move from utils/. 2013-06-20 Gabriel Dos Reis * include/diagnostics.H: New. * io/std-streams.cc: Likewise. 2013-06-20 Gabriel Dos Reis * boot/scanner.boot (shoeToken): Allow inerts. * boot/ast.boot (bfInert): New. * boot/parser.boot (bpInert): New. (bpConstTok): Use it. 2013-06-18 Gabriel Dos Reis * interp/compiler.boot (compHasFormat): Take a DB parameter. Adjust callers. * interp/define.boot (ICformat): Likewise. * interp/lisplib.boot (predicateBitIndex): Likewise. (predicateBitRef): Likewise. (transHasCode): Likewise. 2013-06-17 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (CommutativeOperatorCategory): New. (CommutativeOperation): Likewise. * algebra/Makefile.am (oa_algebra_layer_0): Include them. 2013-06-17 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet (EltableAggregate): Weaken requirement on first parameter. (IndexedAggregate): Likewise. 2013-06-17 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (PartialDifferentialSpace): Weaken requirement on parameter. (PartialDifferentialRing): Likewise. (PartialDifferentialModule): Likewise. 2013-06-17 Gabriel Dos Reis * algebra/parsers.spad.pamphlet: New. * algebra/script-parser.spad: Move content to parsers.spad.pamphlet. Remove. * algebra/spad-parser.spad: Likewise. 2013-06-15 Gabriel Dos Reis * interp/ht-util.boot (mkCurryFun): Import function name. 2013-06-15 Gabriel Dos Reis * boot/tokens.boot (importSymbol): New builtin. * interp/br-saturn.boot (htpMakeEmptyPage): Use it. 2013-06-15 Gabriel Dos Reis * interp/database.boot (dbConstructorDefault): New accessor. (getCategoryConstructorDefault): New. * interp/define.boot (makeCategoryAlist): Use it. (hasDefaultPackage): Remove. (mkCategoryPackage): First parameter is now a DB. Take environment parameter too. Adjust caller. * interp/lisplib.boot (writeCategoryDefault): New. (finalizeLisplib): Call it when appropriate. 2013-06-15 Gabriel Dos Reis * interp/define.boot (makeCategoryPredicates): Tidy. Adjust caller. 2013-06-14 Gabriel Dos Reis * interp/c-util.boot (extendsCategoryForm): Take a DB parameter. Avoid special variables for current constructor form. Adjust callers. * interp/define.boot (compDefineCategory2): Register current constructor in environment. 2013-06-14 Gabriel Dos Reis * interp/lisplib.boot (writeSourceFile): Always write source file. 2013-06-14 Gabriel Dos Reis * interp/nruncomp.boot (NRTsetVector4Part1): Add environment parameter. Adjust caller. (NRTsetVector4a): Likewise. Avoid special variable for environment. * boot/utility.boot: Add and export substSource, substTarget. * interp/define.boot: Use them. 2013-06-14 Gabriel Dos Reis * interp/compiler.boot (categoryInstance?): New. (compColon): Use it for category definitions. * interp/c-util.boot: Add accessors for infovec parts. * boot/utility.boot (invertSubst): New. Export. * interp/Makefile.in ($(SAVESYS)): Remove --sysdb and --system-algebra. 2013-06-13 Gabriel Dos Reis * interp/define.boot (getvalue): Rename from GetValue. Take environment as second parameter. Adjust callers. 2013-06-13 Gabriel Dos Reis * interp/nruncomp.boot (listOfBoundVars): Take environment as second parameter. Adjust callers. (optDeltaEntry): Likewise. 2013-06-05 Gabriel Dos Reis * interp/define.boot (substSlotNumbers): Remove redundant check. * interp/lisplib.boot (NRTgenInitialAttributeAlist): Simplify. * interp/showimp.boot (dc): Likewise. 2013-06-02 Gabriel Dos Reis Make parser non-dependent on constructor databases. * interp/compiler.boot (instantiateNiladics!): New. (compileParseTree): Use it to expand niladict constructors. (instantiateNiladicsInList!): New. * interp/c-doc.boot (instantiateNiladicsInDoc!): New. (finalizeDocumentation): Use it. 2013-06-01 Gabriel Dos Reis * interp/define.boot (addInfo): Remove. (addinformation): Tidy. 2013-06-01 Gabriel Dos Reis * interp/define.boot (NRTgetLookupFunction): Take a cache table. Adjust caller. (NRTextendsCategory1): Likewise. (extendsCategory): Likewise. (extendsCategoryBasic): Likewise. (catExtendsCat?): Likewise. (getCategoryObjectIfCan): New. (getCategoryObject): Use it. * interp/lisplib.boot (getSlot1): Remove as unused. 2013-06-01 Gabriel Dos Reis * interp/category.boot (SigListUnion): Take a cache table. Adjust callers. (mkOr): Likewise. (mkOr2): Likewise. (mkAnd): Likewise. (mkAnd2): Likewise. (FindFundAncs): Likewise. (CatEval): Likewise. (ancestors?): Likewise. (descendant?): Likewise. (filterConditionalCategories): Likewise. * interp/functor.boot (ICformat): Likewise. 2013-06-01 Gabriel Dos Reis * interp/define.boot (getCategoryObject): New. * interp/functor.boot (InvestigateConditions): Use it. (getViewsConditions): Likewise. (getPossibleViews): Likewise. 2013-06-01 Gabriel Dos Reis * interp/category.boot (filterConditionalCategories): Fix thinko. 2013-06-01 Gabriel Dos Reis Support --output in compiler, for bootstrapping stage. * lisp/core.lisp.in (directoryEntries): New. * interp/lisplib.boot (compDefineLisplib): Tidy. Honor --output. (initializeLisplib): Rewrite. (lisplibDoRename): Likewise. * interp/nlib.lisp (RSHUT): Tidy. * interp/define.boot (getOutputPath): New. (compDefineFunctor): Use it. (compDefineCategory): Likewise. * interp/c-util.boot (%Libstream): Add field for output pathname. (dbOutputPath): New accessor. (moveLibdirByCopy): New. * include/cfuns.h (oa_acquire_temporary_pathname): Declare. (oa_release_temporary_pathname): Likewise. * lib/cfuns-c.c: Implement them. * interp/sys-os.boot: Define acquireTemporaryPathname. * boot/ast.boot (lispKey): New. (bfApplication): Use it. (bfExpandKeys): Likewise. * algebra/Makefile.am: Simplify bootstrapping rules. 2013-05-31 Gabriel Dos Reis * interp/nlib.lisp (getIndexIOStreamAndTable): New. 2013-05-30 Gabriel Dos Reis * interp/define.boot (knowInfo): Fix typo. 2013-05-30 Gabriel Dos Reis * interp/c-doc.boot (finalizeDocumentation): Take a DB parameter. Adjust callers. * interp/lisplib.boot (compileDocumentation): Likewise. (writeSourceFile): New. (writeInteractiveModemaps): Likewise. (writeDocumentation): Likewise. 2013-05-29 Gabriel Dos Reis * interp/lisp-backend.boot (compileLispDefinition): Remove. Adjust callers. (printBackendDecl): Lose first parameter. Adjust callers. * interp/slam.boot (compQuietly): Simplify. * interp/sys-utility.boot (COMPILE-DEFUN): Remove. Adjust callers. (EVAL-DEFUN): Likewise. * interp/sys-macros.lisp (MACROEXPANDALL): Remove as no longer used.. 2013-05-28 Gabriel Dos Reis * interp/define.boot (compDefineCategory1): Take DB parameter. (compDefineCategory2): Likewise. (compDefineFunctor1): Likewise. * interp/lisplib.boot (compDefineLisplib): Likewise. 2013-05-28 Gabriel Dos Reis * interp/sys-globals.boot ($domainShell): Remove. * interp/c-util.boot (%CompilationData): Add shell field. (dbDomainShell): New accessor. Replace $domainShell variable. 2013-05-27 Gabriel Dos Reis * interp/compiler.boot(compNoStacking): Add DB parameter. Adjust callers. (comp2): Likewise. (comp3): Likewise. * interp/c-util.boot (currentDB): New. (currentConstructor): Remove. Adjust callers. 2013-05-27 Gabriel Dos Reis * interp/define.boot (compDefine): Take DB as first parameter. Adjust callers. 2013-05-27 Gabriel Dos Reis * interp/sys-utility.boot ($ERASE): Remove. 2013-05-27 Gabriel Dos Reis * interp/nlib.lisp ($FINDFILE): Move to sys-utility.boot. 2013-05-27 Gabriel Dos Reis * interp/nlib.lisp (MAKE-INPUT-FILENAME): Move to sys-utility.boot. * boot/ast.boot (bfIS1): Handle Lisp keywords. 2013-05-26 Gabriel Dos Reis * interp/nlib.lisp (GET-DIRECTORY-LIST): Move to sys-utility.boot. 2013-05-26 Gabriel Dos Reis * interp/lisplib.boot: Replace $FILEP with makeFullFilePath. * interp/setvars.boot: Likewise. * interp/nlib.lisp ($FILEP): Remove. ($OUTFILEP): Likewise. 2013-05-26 Gabriel Dos Reis * interp/sys-os.boot (getWorkingDirectory): New. Define via FFI. Replace all uses of GET-CURRENT-DIRECTORY. * interp/daase.lisp (GET-CURRENT-DIRECTORY): Remove. 2013-05-26 Gabriel Dos Reis * interp/nlib.lisp (MAKE-FULL-NAMESTRING): Move to sys-utility.boot. Rename to makeFullFilePath. Adjust callers. 2013-05-26 Gabriel Dos Reis * algebra/boolean.spad.pamphlet (IndexedBits)[<]: Define in Spad. * interp/bits.lisp: Remove. 2013-05-26 Gabriel Dos Reis * interp/sys-utility.boot (makeFilename): Move from nlib.lisp. * interp/nlib.lisp (MAKE-FILENAME): Move to sys-utility.boot. Adjust callers. * boot/tokens.boot: Add new builtins: filePath, filePath?, filePathDirectory, filePathName, filePathString, filePathType, makeFilePath. 2013-05-26 Gabriel Dos Reis * interp/nlib.lisp (ADDOPTIONS): Move to sys-utility.boot. * interp/sys-utility.boot (addCompilerOption): Rename from ADDOPTIONS. 2013-05-25 Gabriel Dos Reis * algebra/logic.spad.pamphlet: New file. * algebra/boolean.spad.pamphlet (Logic): Move there. (BooleanLogic): Likewise. (PropositionalLogic): Likewise. (PropositionalFormula): Likewise. (PropositionalFormulaFunctions1): Likewise. (PropositionalFormulaFunctions2): Likewise. (KleeneTrivalentLogic): Likewise. 2013-05-25 Gabriel Dos Reis * algebra/cycles.spad.pamphlet (CycleIndicators) [spol]: Rename from nniBump. Fix thinko. 2013-05-25 Gabriel Dos Reis * algebra/cycles.spad.pamphlet (alternating): Accept non-negative input. 2013-05-25 Gabriel Dos Reis * utils/command.cc (print_usage): Document --verbose. 2013-05-25 Gabriel Dos Reis * algebra/indexedp.spad.pamphlet (IndexedDirectProductObject): Define Rep, do not use base-domain form. 2013-05-23 Gabriel Dos Reis * algebra/stream.spad.pamphlet (LazyStreamAggregate) [entries]: Define unconditionally, even it it does not make much sense in general. 2013-05-22 Gabriel Dos Reis * interp/sys-utility.boot (%Libstream): New. 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.