2015-12-26 Gabriel Dos Reis * interp/nruncomp.boot (buildFunctor): Remove use of $ConstantAssignments. * interp/functor.boot (DescendCode): Remove dead and bogus code for constant creation. (ConstantCreator): Remove. 2015-12-26 Gabriel Dos Reis * interp/functor.boot (addConditionToGuard): New. Split out of DescendCode. (viewsUnderCondition): Likewise. 2015-12-26 Gabriel Dos Reis * interp/vmlisp.lisp (LASTELEM): Remove as unused. 2015-12-26 Gabriel Dos Reis * interp/vmlisp.lisp (dispatchFunction): Remove. Adjust users. * interp/c-util.boot (lookupDefiningFunction): Use opcode '%function' in lieu of 'dispatchFunction'. * interp/define.boot (doIt): Likewise. * interp/nruncomp.boot (descendCodeTran): Likewise. * interp/showimp.boot (dcOpPrint): Likewise. 2015-12-25 Gabriel Dos Reis * boot/tokens.boot: Do not rename 'apply'. 2015-12-24 Gabriel Dos Reis * boot/ast.boot (translateForm): New. * boot/translator.boot (translateToplevel): Use it. * boot/utility.boot (lastItem, lispMap, lispMap!, butLast, butLast!): New. 2015-12-23 Gabriel Dos Reis * interp/lisplib.boot (lisplibDoRename): Retain generated Lisp file if asked. * lisp/core.lisp.in ($LispFileType): Export. * boot/translator.boot (retainFile?): Likewise. 2014-11-20 Gabriel Dos Reis * interp/lisplib.boot (lisplibDoRename): Fix thinko. 2014-11-20 Gabriel Dos Reis * lisp/core.lisp.in (forkStreamByName): New. * interp/int-top.boot (ncIntLoop): Use it. * interp/spad-parser.boot (parseSpadFile): Likewise. * interp/sys-globals.boot: Likewise. * interp/sys-macros.lisp (quietlyIfInteractive): Likewise. * interp/vmlisp.lisp (MAKE-INSTREAM): Likewise. (MAKE-OUTSTREAM): Likewise. (DEFIOSTREAM): Likewise. 2014-11-20 Gabriel Dos Reis * algebra/files.spad.pamphlet (endOfFile?)[TextFile]: Use builtin eof? * interp/br-data.boot (dbAugmentConstructorDataTable): Likewise. * interp/topics.boot (mkTopicHashTable): Likewise. * interp/vmlisp.lisp (MAKE-INSTREAM): Use inputTextFile. (MAKE-OUTSTREAM): Use outputTextFile. (EOFP): Remove. 2014-11-17 Gabriel Dos Reis * boot/bemol.cc: New. 2014-11-16 Gabriel Dos Reis * syntax/Makefile.in: Remove. * syntax/Makefile.am: Likewise. 2014-11-16 Gabriel Dos Reis * io/Makefile.in: Remove. * io/Makefile.am: Likewise. 2014-11-16 Gabriel Dos Reis * utils/Makefile.am: New. 2014-11-15 Gabriel Dos Reis * llvm/: New directory. 2014-10-03 Gabriel Dos Reis * gui/server.cc (Server::input): Replace toAscii() with toLatin1() for Qt5-compat. 2014-09-16 Gabriel Dos Reis * rt/vm.cc (VM::Environment::Environment): Define. (VM::Environment::~Environment): Likewise. (VM::Symbol::Symbol): Rework. (VM::BasicContext::make_package): Define. (VM::BasicContext::make_keyword): Likewise. (VM:BasicContext::make_symbol): Remove. (VM::BasicContext::make_operator): Tidy. * include/vm.H (VM::to_bool): New. (VM::to_value): Likewise. (VM::SymbolAttribute): Likewise. (VM::Symbol): Rework. (VM::CmpByName): New helper class. (VM::setf_symbol_function): New helper function. (VM::Environment): Move from Lisp.H. (VM::FunctionBase): Derive from VM::Callable. * include/sexpr.H (Sexpr::SymbolSyntax::Kind): Now bitmask type. (Sexpr::binary_form): New. (Sexpr::Include): Derive from it. (Sexpr::Exclude): Likewise. (Sexpr::Allocator): Adjust. * syntax/sexpr.cc (Sexpr::finish_include): New. (Sexpr::finish_exclude): Likewise. (Sexpr::read_sharp_et_al): Use them. * include/Lisp.H: Adjust. Move Environment to vm.H. (Lisp::Evaluator): Tidy. * rt/Lisp.cc (define_special_value_constants): New. (Lisp::Evaluator::Evaluator): Call it. 2014-08-26 Raoul B. * algebra/combfunc.spad.pamphlet (iBesselKGrad)[FunctionalSpecialFunction]: Fix thinko. 2014-08-26 Gabriel Dos Reis * Makefile.am (oa_src_include_headers): Remove. These headers are now linked by configure. * boot/Makefile.am (noinst_PROGRAMS): Add bemol. (bemol_SOURCES): New. (bemol_LDADD): Likewise. (AM_CXXFLAGS): Set. * boot/bemol.cc: New file. Initial tokenizer. * include/sexpr.H: Tidy. * include/token-value.def: New file. * include/token.H: Expand. Add generic tokenizer. * syntax/token.cc: Rework. * interp/simpbool.boot (list1): Escape leading question mark of ?ORDER. (ordUnion): Likewise. 2014-08-17 Gabriel Dos Reis * boot/Makefile.am: New. * boot/Makefile.in: Regenerate. 2014-08-16 Gabriel Dos Reis * lisp/core.lisp.in (coreQuit) [SBCL]: Use sb-ext:exit since sb-ext:quit is deprecated. * clef/edible.c (flip_canonical): Remove as unused. (flip_raw): Likewise. (check_flip): Likewise. * include/open-axiom.h: Unceremonially #include . * sman/sman.c (clean_up_terminal): Remove as unused. 2014-02-03 Gabriel Dos Reis * boot/Makefile.in: Fix global variable names. * clef/Makefile.in: Likewise. * doc/Makefile.in: Likewise. * driver/Makefile.in: Likewise. * etc/Makefile.in: Likewise. * graph/Gdraws/Makefile.in: Likewise. * graph/Makefile.in: Likewise. * graph/view2D/Makefile.in: Likewise. * graph/view3D/Makefile.in: Likewise. * graph/viewAlone/Makefile.in: Likewise. * graph/viewman/Makefile.in: Likewise. * hyper/Makefile.in: Likewise. * input/Makefile.in: Likewise. * interp/Makefile.in: Likewise. * lib/Makefile.in: Likewise. * lisp/Makefile.in: Likewise. * share/Makefile.in: Likewise. * sman/Makefile.in: Likewise. * utils/Makefile.in: Likewise. 2014-02-02 Gabriel Dos Reis * Makefile.am (all-gui): Depend on all-syntax. * gui/gui.pro.in: Fix qmake idiocy on mac os. * lib/cfuns-c.c (make_c_str): New helper. (oa_acquire_temporary_pathname): Use it. Prefer mktemp. 2013-12-15 Gabriel Dos Reis Fix SF/95. * include/vm.H (internal_type): Adjust. (internal_data): Likewise. 2013-11-26 Gabriel Dos Reis * include/storage.H (Arena::allocate): Adjust spelling of alignment query operator. (Arena::Arena): Likewise. (HashTableEntry): Adjust spelling of alignment specifier. 2013-11-03 Gabriel Dos Reis * include/Charset.H (OpenAxiom): New. 2013-07-04 Gabriel Dos Reis * interp/sys-driver.boot (initializeGlobalState): Tell GCL not to use buggy fast links. 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. 2012-10-10 Igor Pashev Andrey G, Grozin Gabriel Dos Reis * utils/command.cc (build_rts_options) [sbcl_runtime]: Inhibit system-wide and user-supplied initialization files. 2012-08-26 Gabriel Dos Reis * hyper/hthits.c (splitpage): Revert unintended change from last commit. * hyper/initx.c (is_it_850): Likewise. 2012-08-26 Gabriel Dos Reis * graph/Gdraws/Gfun.c (GDrawLine): Make string parameter of type const char*. (GDrawPushButton): Likewise. (GDrawString): Likewise. (PSCreateContext): Likewise. (centerX): Likewise. * Makefile.am (all-graph): Require all-utils. 2012-08-26 Gabriel Dos Reis * interp/sys-os.boot (flushStdout): Remove as unused. * interp/i-toplev.boot (recordAndPrint): Do not print a newline before formatting the result. 2012-08-26 Gabriel Dos Reis * interp/debug.lisp: Remove reference to TOK and CHR. * interp/spad-parser.boot: Likewise. * interp/g-error.boot: Likewise. * interp/sys-globals.boot: Likewise. * interp/br-saturn.boot: Replace TERSYSCOMAND by terminateSystemCommand. * interp/i-syscmd.boot: Likewise. (terminateSystemCommand): Simplify. * interp/spad.lisp (TERSYSCOMMAND): Remove. 2012-08-26 Gabriel Dos Reis * include/sockio.h (init_purpose_table): Remove declaration. (redirect_stdio): Likewise. (init_socks): Likewise. (flush_stdout): Likewise. (print_line): Likewise. (BaloonServer): Remove. (DebugWindow): Likewise. (Forker): Likewise. (AV): Likewise. * interp/server.boot (serverReadLine): Do not flushOutput. * interp/sys-constants.boot ($MessageServer): Remove. ($DebugWindow): Likewise. ($Forker): Likewise. * interp/sys-os.boot (printLine): Remove associated foreign import. * lib/sockio-c.c (init_purpose_table): Do not export. (init_socks): Likewise. (get_socket_type): Simplify. Remove dead code. (redirect_stdio): Remove. (flush_stdio): Likewise. (print_line): Likewise. 2012-08-25 Gabriel Dos Reis * interp/br-saturn.boot: Replace TERPRI with finishLine. * interp/c-util.boot: Likewise. * interp/clam.boot: Likewise. * interp/compiler.boot: Likewise. * interp/diagnostics.boot: Likewise. * interp/format.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-error.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/postpar.boot: Likewise. * interp/setvars.boot: Likewise. * interp/topics.boot: Likewise. * interp/trace.boot: Likewise. 2012-08-25 Gabriel Dos Reis * interp/i-util.boot: Lose paramater. Unconditional flush the output stream. Adjust callers. 2012-08-24 Alfredo Portes * interp/setvars.boot ()version): Use *build-version* instead of *yearweek*. 2012-08-23 Gabriel Dos Reis * boot/ast.boot ($ffs): New. (genImportDeclaration): Update it. * boot/translator.boot (genModuleFinalization): Tidy. Generate code to update $dynamicForeignFunctions where necessary. (atLoadOrExecutionTime): New. * lisp/core.lisp.in (UNBIND-FOREIGN-FUNCTION-SYMBOLS): New. (saveCore): Use it. ($dynamicForeignFunctions): New. Export. 2012-08-20 Gabriel Dos Reis * interp/br-search.boot (getTemporaryDirectory): Search TMPDIR first. Ensure result has a trailing slash. 2012-08-20 Gabriel Dos Reis * interp/br-util.boot (htPred2English,gn): Tidy. * interp/br-search.boot (pmPreparse): Do not apply pmPreparse,hn. Tidy. (pmPreparse,hn): Remove. 2012-08-20 Gabriel Dos Reis * interp/spad.lisp (SPAD): Remove obfuscated binding of OUT-STREAM. * interp/spad-parser.boot (paarseEcho): Use $OutputStream in lieu of OUT-STREAM. * interp/server.boot (serverReadLine): Do not bind IN-STEEAM and *EOF*. Tidy. * interp/lexing.boot (IN-TREAM): Remove definition. (OUT-STREAM): Likewise. * interp/int-top.boot (runspad): Do not bind IN-STREAM and *EOF*. (SpadInterpretStream): Remove $shoeReadLineFunction binding. * interp/debug.lisp: Replace IN-STREAM with $InputStream and OUT-STREAM with $OutputStream. 2012-08-20 Gabriel Dos Reis * interp/Makefile.in: Simplify. 2012-08-20 Gabriel Dos Reis * input/sint.input.pamphlet: Use /\$SingleInteger, not defunct And$SingleInteger. 2012-08-20 Gabriel Dos Reis * interp/i-coerfn.boot: Do not import i-coerce. Import i-analy and i-resolv intead. ($CoerceTable): Fix embarrassing thinko. * interp/i-coerce.boot: Import i-coerfn. (coerceIntTableOrFunction): Tidy. * boot/utility.boot (objectAssoc): Tidy. 2012-08-19 Gabriel Dos Reis * interp/util.lisp (BUILD-INTERPSYS): loadDelayedFFI early. * interp/sys-driver.boot (%sysInit): Do not call sys-osInitCLispFFI (no longer necessary.) * boot/translator.boot (genModuleFinalization): Generate forms to be evaluated at load and execution time, instead of a function call. * interp/spad.lisp (process): Remove. 2012-08-19 Gabriel Dos Reis * lisp/core.lisp.in (primitiveLoad): New. Export. ($delayedFFI): Likewise. * lisp/Makefile.in (oa_delay_ffi): New. (edit): Update. * interp/sys-utility.boot: import sys-constants instead of sys-os. * interp/sys-driver.boot (%sysInit): Do not loadSystemRuntimeCore. (loadDelayedFFI): New. (executeSpadScript): Call it. (compileSpadLibrary): Likewise. (buildInitdbHandler): Likewise. (systemMain): Likewise. * interp/util.lisp (BUILD-INTERPSYS): Likewise. * interp/Makefile.in (oa_target_moddir): New. (OA_FFI_MOD): Likewise. (OA_FFI_OBJ): Define conditionally. (OBJS): Use it. ($(oa_target_delayed)): New rule. (oa_target_delayed): New. (oa_target_ffi): Define conditionally. (${SAVESYS}): Require it. (${AXIOMSYS}): Likewise. (sys-utility.$(FASLEXT)): Now require sys-constants.$(FASLEXT). 2012-08-18 Gabriel Dos Reis * boot/ast.boot (genSBCLnativeTranslation): Do no prepend an underbar when WIN32 (no longer necessary.) * include/open-axiom.h (OPENAXIOM_EXPORT): Fix thino. 2012-08-18 Gabriel Dos Reis * include/sockio.h (connect_to_local_server): First parameter now const char*. * include/pixmap.h (zzopen): Second parameter now const char*. * lib/pixmap.c: Propagate change. * lib/sockio-c.c: Likewise. * hyper/parse-types.c (parse_verbatim): Tidy. * hyper/spadint.c (print_source_to_string1): Likewise. * hyper/initx.h (init_top_window): Change parameter type to const char*. * hyper/initx.c: Propagate change. * hyper/titlebar.c: Tidy. (set_name_and_icon): icon_name is now of type const char*. (get_border_properties): bwidth is not of type const char*. (mergeDatabases): classname is now of type const char*. (is_it_850): probtbl.name is now of type const char*. 2012-08-18 Gabriel Dos Reis * include/util.H1 (getmemWithLine): Second argument is now const char*. (saymemWithLine): First argument is now char*. * lib/util.c: Propogate change. * include/XSpadFill.h (SpadFillGC): Change last parameter type to const char*. * lib/XSpadFill.c (SpadFillGC): Likewise. 2012-08-18 Gabriel Dos Reis * boot/translator.boot (shoeOutParse): Fix thinko. * lib/cfuns-c.c (oa_getcwd): Tidy. (oa_spawn): Likewise. * lib/sockio-c.c (send_string_len): Likewise. * utils/command.cc (option_value): Likewise. (execute_core): Likewise. 2012-07-25 Aleksej Saushev * hyper/htadd.c: Include * hyper/lex.c: Likewise. 2012-06-10 Gabriel Dos Reis * interp/io.boot (%SourceLine): New. (%LoadUnit): Likewise. (readLoadUnitSource): Likewise. (%Reader): Remove input stream field. Include load unit and next lines fields. Adjust users. 2012-06-10 Gabriel Dos Reis * interp/newaux.lisp (MAKEOP): Move to spad-parser.boot. Remove file. * interp/Makefile.in: Adjust. 2012-06-10 Gabriel Dos Reis * interp/newaux.lisp: Move Led property setting to spad-parser.boot. 2012-06-10 Gabriel Dos Reis * interp/newaux.lisp: Move Nud property setting to spad-parser.boot. Import sys-utility. * interp/Makefile.in: Adjust. 2012-06-09 Gabriel Dos Reis * interp/spad-parser.boot: Fix thinkos from previous commit. 2012-06-09 Gabriel Dos Reis * interp/preparse.lisp: Remove. * interp/spad-parser.boot: Do not include. Import lexing instead. * interp/Makefile.in: Adjust. 2012-06-09 Gabriel Dos Reis * interp/io.boot (%Reader): Add idx field. * interp/preparse.lisp ($INDEX): Remove. Adjust users. 2012-06-06 Gabriel Dos Reis * interp/lexing.boot: Move %Line to io.boot. * interp/debug.lisp (SPAD_LONG_ERROR): Take a reader parameter. Tidy. 2012-06-06 Gabriel Dos Reis * interp/io.boot (readePendingLines): Rename from readerLines. Adjust callers. 2012-06-05 Gabriel Dos Reis * interp/io.boot (readerDeferLine): New. * interp/preparse.lisp (preparse1): Use it. * interp/spad-parser.boot (preparse): Likewise. 2012-06-04 Gabriel Dos Reis * interp/spad-parser.boot (preparse): Tidy. 2012-06-04 Gabriel Dos Reis * interp/spad-parser.boot (findCommentBlock): Lose last parameter. Adjust callers. 2012-06-03 Gabriel Dos Reis * interp/spad.lisp (SPAD): Adjust. * interp/spad-parser.boot: Add a reader parameter to all parsing functions. Adjust callers. * interp/newaux.lisp: Adjust form of specialized parsers. * interp/lexing.boot: Add a reader parameter to all lexing functions. Adjust Callers. * interp/io.boot (%Reader): Add source line field. * interp/debug.lisp: Adjust IO and lexer calls. * interp/util.lisp (string2SpadTree): Remove as unused. 2012-06-03 Gabriel Dos Reis * interp/preparse.lisp ($LineList): Remove. (INITIALIZE-PREPARSE): Do not set it. (preparse1): Do not reference it. Do not test for ioTerminal? and the input is always a disk file. * interp/spad-parser.boot (findCommentBlock): Do not reference $EchoLineStack. (preparseReadLine1): Do not reference $LineList. 2012-06-03 Gabriel Dos Reis * interp/io.boot (%Reader): New data structure. * interp/preparse.lisp (INITIALIZE-PREPARSE): Parameter is now a reader. (preparse1): Likewise. Tidy. * interp/spad-parser.boot (preparseReadLine): Likewise. (preparseReadLine1): Likewise. (preparse): Likewise. (parseSpadFile): Likewise. * interp/spad.lisp (SPAD): Make it a unary function. Simplify. (INITIALIZE): Remove. 2012-06-03 Gabriel Dos Reis * interp/lexing.boot (%Line): Now a record structure. * boot/parser.boot (bpTypeName): Split out of bpTypeAliasDefinition. (bpStruct): Use it. Support parameterized structures. * boot/ast.boot (ctorName): New. (bfEnum): Use it for parameterized enums. (bfRecord): Use it for parameterized records. 2012-06-03 Gabriel Dos Reis * boot/parser.boot (bpSignatureTail): Split out of bpSignature. (bpTyped): Use it. (bpThrow): Lilkewise. (bpRegularBVItemTail): Likewise. (bpAssignLHS): Likewise. (bpStoreName): Do not reference $typings. * boot/ast.boot (%Ast): Remove %Pretend variant. (bfSignature): Rename from bfLocal. Build %Signature variant. (bfLET1): Handle assignment to typed variable. (shoeCompTran): Do not reference $typings. (shoeCompTran1): Do not translate assignment to typed variables. (bindFluidVars): Handle them here. (bfTagged): Remove. (bfTry): Tidy. * boot/translator.boot (shoeOutParse): Do not reference $typings and $returns. * interp/c-util.boot (isAlmostSimple): Initialize $assignmentList. 2012-06-01 Gabriel Dos Reis * boot/translator.boot: Remove DEFUSE, $booDefined, $bootDefinedTwice, $bootUsed, $lispWordTable, shoeDfu, shoeReport, shoeDefUse, defuse, defuse1, defSeparate, unfluidlist, defusebuiltin, bootOut, CLESSP, SSORT, bootOutLines, XREF, shoeXref, shoeXreport. 2012-06-01 Gabriel Dos Reis * boot/ast.boot (%LoadUnit): Add field for enclosing function. Remove references to $op. 2012-06-01 Gabriel Dos Reis * boot/ast.boot (%LoadUnit): Add fields for side conditions. * boot/parser.boot: Adjust. 2012-05-31 Gabriel Dos Reis * boot/ast.boot (%LoadUnit): Add fields for let var and is var sequence numbers. Eliminate $letGenVarCounter and $isGenVarCounter. 2012-05-31 Gabriel Dos Reis * boot/ast.boot: Add a %LoadUnit parameter to most functions. Adjust callers. * boot/translator.boot: Tidy. 2012-05-30 Gabriel Dos Reis * boot/parser.boot: Replace references to $ttok. 2012-05-30 Gabriel Dos Reis * boot/parser.boot (%ParserState): Add field for current token. Replace references to $stok. 2012-05-30 Gabriel Dos Reis * boot/ast.boot (bfSpecificErrorHere): New. (bfISReverse) Use it. Don't use bpTrap. (bfIS1): Likewise. (bfParameterList): Likewise. (bfHandlers): Likewise. * boot/parser.boot (bpTrap): Take a parser state argument. Adjust callers. 2012-05-30 Gabriel Dos Reis * boot/parser.boot: Remove references to $bpCount. * boot/translator.boot (shoeOutParse): Likewise. 2012-05-29 Gabriel Dos Reis * boot/parser.boot: Remove references to $bpParentCount. * boot/translator.boot (shoeOutParse): Likewise. 2012-05-29 Gabriel Dos Reis * boot/parser.boot: Remove references to $stack. * boot/translator.boot: Likewise. 2012-05-29 Gabriel Dos Reis * boot/parser.boot: Add parser state argument to more functions. Remove references to $inputStream. * boot/translator.boot (shoeOutParse): Remove $inputStream. 2012-05-29 Gabriel Dos Reis * boot/parser.boot (%ParserState): New. (makeParserState): Likewise. (%Translator): Likewise. (makeTranslator): Likewise. Make all parsing functions take a parser state argument. * boot/translator.boot (shoeOutParse): Adjust. * interp/spad-parser.boot (stringPrefix?): Remove redudant definition. 2012-05-28 Gabriel Dos Reis * interp/lexing.boot: Use makeToken directly. (tokenInstall): Remove. (getSpadIntegerToken): Lose parameter. Adjust callers. (getNumberToken): Likewise. (getArgumentDesignator): Likewise. (getToken): Likewise. (getSpadString): Likewise. (getSpecial): Likewise. (getGliph): Likewise. (getIdentifier): Likewise. * lisp/core.lisp.in ($stdio): New. * boot/includer.boot: Use it. * boot/translator.boot: Likewise. * boot/utility.boot (stringPrefix?): New. 2012-05-28 Gabriel Dos Reis * interp/io.boot (findChar): Do not define here. * interp/match.boot (charPosition): Likewise. * boot/utility.boot (charPosition): Now return argument string length if no match. (findChar): New. * boot/scanner.boot (lexerCharPosition): Adjust. (shoeAccumulateLines): Use findChar. 2012-05-26 Gabriel Dos Reis * boot/ast.boot (bfMDef): Simplify. (backquote): Do not quote integer and string literals. 2012-05-26 Gabriel Dos Reis * boot/tokens.boot: freshLine, functionSymbol?, and symbolGlobal? are now builin. * boot/ast.boot: Tidy. * interp/c-util.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-output.boot: Likewise. * interp/clam.boot: Likewise. * interp/trace.boot: Likewise. * interp/sys-utility.boot: Likewise. * interp/sys-driver.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/lisp-backend.boot: Likewise. 2012-05-24 Gabriel Dos Reis * interp/sys-globals.boot ($compCount): Remove. * interp/spad.lisp (knownEqualPred): Move to buildom.boot (hashable): Likewise. Remove junk. * interp/debug.lisp: Remove junk. * interp/vmlisp.lisp: Likewise. 2012-05-24 Gabriel Dos Reis * algebra/Makefile.in (initdb.$(FASLEXT)): Add --syslib to fix thinko. 2012-05-24 Gabriel Dos Reis * boot/scanner.boot: Eliminate fluid variable $n. (lexerRefresh?): New. (lexerSetLine!): Likewise. (lexerSkipBlank!): Likewise. (lexerSkipToEnd!): Likewise. (lexerAdvancePosition!): Likewise. (lexerCharCountToCompleteTab): Likewise. (lexerCurrentChar): Likewise. (lexerCharPosition): Likewise. (lexerCharacterAt): Likewise. (lexerEol?): Likewise. 2012-05-24 Gabriel Dos Reis * boot/scanner.boot (lexerLineLength): New. (shoeNextLine): Use it in replacement of $sz. (shoeLineToks): Likewise. (shoeLispEscape): Likewise. (shoeEsc): Likewise. (shoeStartsComment): Likewise. (shoeStartsNegComment): Likewise. (shoeNegComment): Likewise. (shoeComment): Likewise. (shoePossFloat): Likewise. (shoeSpace): Likewise. (shoeS): Likewise. (shoeW): Likewise. (shoeInteger1): Likewise. (shoeNumber): Likewise. (shoeExponent): Likewise. 2012-05-24 Gabriel Dos Reis * boot/scanner.boot (%Lexer): New record structure. Add a lexer parameter to all lexing functions that need one. Adjust their callers. 2012-05-23 Gabriel Dos Reis * boot/tokens.boot: "@" is now a new keyword. * boot/ast.boot (bfRestrict): New. (bpTyped): Rename from bpTagged. Accept type restriction. * boot/utility.boot (drop): Restrict the result to a %List. 2012-05-23 Gabriel Dos Reis * interp/database.boot (%Constructor): New. (makeConstructor): Likewise. (makeInitialDB): Tidy. * interp/daase.lisp (makeDB): Take two more parameters. Build a %Constructor structure object too. 2012-05-23 Gabriel Dos Reis * interp/sys-driver.boot (initializeDatabases): Load initidb if specified. * interp/database.boot (populateDFFromFile): Remove. (printAllInitdbInfo): Write as as Lisp file. * algebra/Makefile.in (COMPILE_SPAD): initdb is now a FASL. (BOOTSTRAP): Likewise. (strap-2/%.$(FASLEXT)): Likewise. (initdb.$(FASLEXT)): New. 2012-05-23 Gabriel Dos Reis * interp/vmlisp.lisp (MAKE-CVEC): Remove. (GETSTR): Likewise. * interp/sys-macros.lisp (INTERNL): Likewise. * interp/macros.lisp: Move content to vmlisp.lisp. Remove. * interp/Makefile.in: Adjust. * interp/debug.lisp: Now import sys-macros * interp/fname.lisp: Likewise. * interp/format.boot: Likewise. * interp/g-timer.boot: Likewise. * interp/g-util.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/htcheck.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/monitor.lisp: Likewise. * interp/newaux.lisp: Likewise. * interp/newfort.boot: Likewise. * interp/nlib.lisp: Likewise. * interp/postpar.boot: Likewise. * interp/profile.boot: Likewise. * interp/server.boot: Likewise. * interp/setvars.boot: Likewise. * interp/setvart.boot: Likewise. * interp/sfsfun.boot: Likewise. * interp/simpbool.boot: Likewise. * interp/spad.lisp: Likewise. * interp/termrw.boot: Likewise. * interp/topics.boot: Likewise. 2012-05-23 Gabriel Dos Reis * boot/includer.boot (%SourceLine): New datatype. (makeSourceLine): New. Use source line macro accessors. * boot/pile.boot: Likewise. * boot/scanner.boot: Likewise. 2012-05-22 Gabriel Dos Reis * interp/br-search.boot: Use findChar and findString in lieu of STRPOS. * interp/database.boot: Likewise. * interp/format.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-map.boot: Likewise. * interp/match.boot: Likewise. * interp/scan.boot: Likewise. * interp/trace.boot: Likewise. 2012-05-22 Gabriel Dos Reis * boot/tokens.boot (%Token): New datatype. (makeToken): New. * boot/includer.boot: Use %token accessors. * boot/parser.boot: Likewise. * boot/pile.boot: Likewise. * boot/scanner.boot: Likewise. * boot/utility.boot: Export subString. 2012-05-22 Gabriel Dos Reis * interp/lexing.boot (%Token): Now an actual type defined as a record structure. (copyToken): Adjust. (tokenSymbol): Remove as now automatically generated. (tokenType): Likewise. (tokenNonblank?): Likewise. * boot/ast.boot (bfRecordDef): Specify a name for a copier function. 2012-05-22 Gabriel Dos Reis * boot/translator.boot (translateToplevel): Handle record structures. * boot/tokens.boot: "with" is now a keyword in Boot. * boot/parser.boot (bpSignature): The typing is required afte the colong. (bpFieldList): New. (bpGlobalAccessors): Likewise. (bpAccessorDefinitionList): Likewise. (bpAccessorDefinition): Likewise. (bpFieldSection): Likewise. (bpSelectField): Likewise. (bpRecord): Likewise. (bpStruct): Use it to implement record structures. * boot/ast.boot (%Ast): Add %Record and %AccessorDef. (bfRecordDef): New. 2012-05-21 Gabriel Dos Reis * boot/ast.boot (needsPROG): Remove. (shoePROG): Likewise. (declareLocalVars): New. (maybeAddBlock): Likewise. (hasReturn?): Likewise. (shoeCompTran): Tidy. 2012-05-21 Gabriel Dos Reis * interp/parsing.lisp: Remove. * interp/spad-parser.boot (floatExponent): New. (parseFloatExponent): Use it instead of FLOATEXPID. * interp/lexing.boot (nextLinesClear!): New. (ioClear!): Likewise. (OUT-STREAM): Define here. * interp/debug.lisp: Import lexing instead of parsing. Tidy. * interp/preparse.lisp: Likewise. * interp/spad.lisp: Likewise. * interp/util.lisp: Likewise. * interp/Makefile.in (OBJS): Do not include parsing.$(FASLEXT). (parsing.$(FASLEXT)): Remove. Adjust dependents. 2012-05-21 Gabriel Dos Reis * interp/spad-parser.boot (addParensAndSemisToLine): Drop 'drop', avoiding awakening GCL bug and quadratic traversal of lines. (parsePiles): Simplify. 2012-05-21 Gabriel Dos Reis * interp/spad.lisp (S-PROCESS): Rename to translateSpad and move to spad-parser.boot. * interp/parsing.lisp (MATCH-ADVANCE-SPECIAL): Remove. (MATCH-SPECIAL): Likewise. (MATCH-KEYWORD-NEXT): Likewise. (INITIAL-SUBSTRING-P): Likewise. (TERMCHR): Likewise. (dollarTran): Simplify and move to spad-parser.boot. 2012-05-20 Gabriel Dos Reis * interp/lexing.boot (getDecimalNumberToken): New. (getIntegerInRadix): Likewise. (getSpadIntegerToken): Likewise. (getToken): Use it. * interp/Makefile.in (bootlex.$(FASLEXT)): Remove rule. (OBJS): Do not include it. * interp/bootlex.lisp: Remove. 2012-05-20 Gabriel Dos Reis * interp/spad-parser.boot (parseSexpr1): Simplify. (parseDara): Likewise. Do not set LABLASOC. * interp/bootlex.lisp (PRINT-DEFUN): Remove. (TRANSLABEL): Likewise. (TRANSLABEL1): Likewise. * interp/preparse.lisp (LABLASOC): Likewise. 2012-05-20 Gabriel Dos Reis * interp/vmlisp.lisp (SETANDFILE): Remove. (LAM,EVALANDFILEACTQ): Likewise. * interp/sys-utility.boot (PRINT-AND-EVAL-DEFUN): Likewise. * interp/slam.boot (reportFunctionCompilation): Tidy. * interp/lisp-backend.boot (evalAndPrintBackendDecl): New. * interp/c-util.boot (backendCompileSPADSLAM): Use it in lieu of SETANDFILE. (compAndDefine): Use evalAndPrintBackendDecl in lieu of PRINT-AND-EVAL-DEFUN. * interp/hypertex.boot: Clean up. * interp/nhyper.boot: Likewise. * interp/word.boot: Likewise. 2012-05-20 Gabriel Dos Reis * interp/vmlisp.lisp (EVALANDFILEACTQ): Second argument is no longer optional. Adjust callers. (LAM\,EVALANDFILEACTQ): Likewise. * interp/slam.boot (compQuietly): Use printBackendDecl. * interp/spad.lisp (SPAD): Likewise. * interp/sys-utility.boot (PRINT-AND-EVAL-DEFUN): Likewise. * interp/macros.lisp (SETANDFILE): Move to vmlisp.lisp. * interp/lisp-backend.boot (printBackendStmt): New. (evalAndPrintBackendStmt): Likewise. (printBackendDecl): Likewise. * interp/c-util.boot (registerFunctionReplacement): Use evalAndPrintBackendStmt. (registerRedexForm): Likewise. (proclaimCapsuleFunction): Use printBackendStmt. * interp/Makefile.in (lisp-backend.$(FASLEXT)): Require nlib.$(FASLEXT) 2012-05-20 Gabriel Dos Reis * interp/parsing.lisp (CONVERSATION): Remove. (CONVERSATION1): Likewise. (MAKE-PARSE-FUNCTION): Likewise. (MAKE-PARSE-FUNCTION1): Likewise. (MAKE-PARSE-FUNC-FLATTEN): Likewise. (MAKE-PARSE-FUNC-FLATTEN-1): Likewise. (TRANSPGVAR): Likewise. (GETRULEFUNLISTS): Likewise. (REDUCTION-PRINT): Likewise. (TRACEMETA): Likewise. (TRMETA): Likewise. (TRMETA1): Likewise. (/MDEF): Likewise. * interp/macros.lisp (EXPAND-TABS): Likewise. * interp/spad.lisp (READ-SPAD): Likewise. (READ-INPUT): Likewise. (READ-SPAD0): Likewise. (READ-SPAD1): Likewise. (READ-SPAD-1): Likewise. (New,ENTRY,1): Likewise. (New,ENTRY,2): Likewise. * interp/bootlex.lisp (SPAD_SYNTAX_ERROR): Move to debug.lisp. (SPAD_LONG_ERROR): Likewise. (SPAD_SHORT_ERROR): Likewise. (SPAD_ERROR_LOC): Likewise. * interp/c-util.boot (COMP370): Move to lisp-backend.boot. (compQuietly): Move to slam.boot. 2012-05-20 Gabriel Dos Reis * boot/utility.boot (strinSuffix?): New. * boot/translator.boot (shoeRemovebootIfNec): Use it. 2012-05-20 Gabriel Dos Reis Fix build breakage with CLozure CL. * lisp/core.lisp.in ($stdin): Demote to DEFPARAMETER. ($stdout): Likewise. 2012-05-20 Gabriel Dos Reis * boot/ast.boot (shoeCompTran): Simplify. (shoeCompTran1): Partially defer translation of fluid variable definition. (bindFluidVars!): New. Complete translation. (groupFluidVars): New. * interp/newfort.boot (fortFormatIntrinsics): Remove redundant return. 2012-05-19 Gabriel Dos Reis * boot/ast.boot (shoeCompTran1): Take variable sets by reference. Remove globals. Adjust caller. (shoeCompTran): Replace fluid variables by references. 2012-05-19 Gabriel Dos Reis * boot/tokens.boot: symbolBinding is now builtin. * boot/ast.boot (%Ast): Add %Dynamic variant. (bfColonColon): Use symbolBinding instead of FIND-SYMBOLS. (compFluid): Return a %Dynamic form. Adjust callers. (shoeCompTran): Tidy. * boot/translator.boot (BOOTLOOP): Tidy. (BOOTPO): Likewise. 2012-05-11 Gabriel Dos Reis * interp/c-util.boot: Miscellaneous cleanup. * interp/compiler.boot: Likewise. * interp/database.boot: Likewise. * interp/debug.lisp: Likewise. * interp/format.boot: Likewise. * interp/g-timer.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/macros.lisp: Likewise. * interp/monitor.lisp: Likewise. * interp/msgdb.boot: Likewise. * interp/newfort.boot: Likewise. * interp/nlib.lisp: Likewise. * interp/parsing.lisp: Likewise. * interp/pf2atree.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/posit.boot: Likewise. * interp/sfsfun.boot: Likewise. * interp/util.lisp: Likewise. 2012-05-11 Gabriel Dos Reis * interp/io.boot (findString): New. * interp/preparse.lisp: Use it instead of SEARCH. 2012-05-11 Gabriel Dos Reis * interp/io.boot (findChar): New. * interp/preparse.lisp (preparse1): Use it instead of POSITION. 2012-05-11 Gabriel Dos Reis * interp/preparse.lisp (PARSEPRINT): Move to spad-parser.boot. Rename as parsePrint. 2012-05-11 Gabriel Dos Reis * interp/preparse.lisp (ADD-PARENS-AND-SEMIS-TO-LINE): Move to spad-parser.boot Rename as addParensAndSemisToLine. (PARSEPILES): Move spad-parser.boot. Rename as parsePiles. 2012-05-11 Gabriel Dos Reis * interp/preparse.lisp (preparseReadLine1): Move to spad-parser.boot. 2012-05-10 Igor Pashev * hyper/initx.c: Fixed spelling errors. * hyper/macro.c (parse_macro): Likewise. * sman/sman.c (manage_spad_io): Likewise. 2012-05-09 Gabriel Dos Reis * interp/io.boot (carriageRetChar?): New. (trimCarriageReturn): Likewise. (expandLeadingTabs): Likewise. * interp/preparse.lisp: Use it. * interp/incl.boot: Likewise. * interp/i-syscmd.boot: Likewise. 2012-05-09 Gabriel Dos Reis * interp/preparse.lisp (PREPARSE): Move to spad-parser.boot. Rename as preparse. 2012-05-09 Gabriel Dos Reis * interp/preparse.lisp (FINCOMBLOCK): Move to spad-parser.boot. Rename as findCommentBlock. 2012-05-09 Gabriel Dos Reis * interp/preparse.lisp (PREPARSE-ECHO): Move to spad-parser.boot. Rename as preparseEcho. * lisp/core.lisp.in (formatToStream): New. 2012-05-08 Gabriel Dos Reis * boot/tokens.boot: Export char. Do not rename maxIndex. * lisp/core.lisp.in (maxIndex): Define and export. * interp/bootlex.lisp: Adjust. * interp/parsing.lisp: Likewise. * interp/macros.lisp: Likewise. (DROPTRAILINGBLANKS): Remove. (BLANKP): Likewise. (NONBLANKLOC): Likewise. * interp/io.boot (trimTrailingBlank): New. (firstNonblankCharPosition): Likewise. * interp/preparse.lisp: Use them. Adjust. * interp/sys-macros.lisp (char): Remove. * interp/vmlisp.lisp (MAXINDEX): Likewise. * interp/br-search.boot (pmTransFilter): Fix bogus uses of char. * interp/debug.lisp: Likewise. * interp/g-util.boot: Likewise. * interp/ht-root.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-syscmd.boot: Likewise. 2012-05-07 Gabriel Dos Reis * interp/spad.lisp (INIT-BOOT/SPAD-READER): Don't set FILE-CLOSED. (SPAD): Tidy. * interp/spad-parser.boot (parseSpadFile): Do not test for *EOF* or FILE-CLOSED. * interp/preparse.lisp (INITIALIZED-PREPARSE): Use readLine. (preparseReadLine1): Likewise. * interp/parsing.lisp (FILE-CLOSED): Remove. (GET-A-LINE): Likewise. (CURRENT-FRAGMENT): Likewise. (INPUT-CLEAR): Likewise. (READ-A-LINE): Likewise. (IOSTREAMS-CLEAR): Don't set FILE-CLOSED. (IOCLEAR): Don't call INPUT-CLEAR. 2012-05-07 Gabriel Dos Reis * interp/vmlisp.lisp (ioTerminal?): Rename form IS-CONSOLE. * interp/bootlex.lisp: Adjust. * interp/diagnostics.boot: Likewise. * interp/macros.lisp: Likewise. * interp/msgdb.boot: Likewise. * interp/parsing.lisp: Likewise. * interp/preparse.lisp: Likewise. * interp/server.boot: Likewise. 2012-05-07 Gabriel Dos Reis * interp/preparse.lisp (SKIP-IFBLOCK): Move to spad-parser.boot. Renamed skipIfBlock. (SKIP-IF-BLOCK): Move to spad-parser.boot. Renamed skipToEndif. (PREPARSEREADLINE): Move to spad-parser.boot. Renamed preparseReadLine. 2012-05-06 Gabriel Dos Reis * interp/sys-globals.boot ($insideCompTypeOf): Remove. * interp/preparse.lisp (INITIAL-SUBSTRING): Remove. * interp/g-util.boot (stringPrefix?): Remove. * interp/compiler.boot (compTypeOf): Remove. (comp3): Don't call it. 2012-05-06 Gabriel Dos Reis * interp/lexing.boot (indentationLocation): New. * interp/macros.lisp (expand-tabs): Use it in lieu of NDENT-POS. * interp/preparse.lisp (PREPARSE1): Likewise. 2012-05-06 Gabriel Dos Reis * interp/Makefile.in (OBJS): Include io.$(FASLEXT). (io.$(FASLEXT)): New rule. * interp/io.boot: New. * interp/preparse.lisp: Use storeBlanks!. (STOREBLANKS): Remove. 2012-05-05 Gabriel Dos Reis * interp/preparse.lisp (ADDCLOSE): Move to spad-parser.boot. Renamed addClose. (ESCAPED): Move to spad-parser.boot. Renamed escaped?. (INFIXTOK): Move spad-parser.boot. Renamed infixToken?. 2012-05-05 Gabriel Dos Reis * interp/clam.boot (HGETandCount): Remove as unused. (clearHashReferenceCounts): Likewise. (remHashEntriesWithCount): Likewise. (initCache): Likewise. (assocCache): Likewise. (assocCacheShift): Likewise. (assocCacheShiftCount): Likewise. (hputNewProp): Likewise. (lassocShift): Likewise. (lassocShiftQ): Likewise. (globalHashtableStats): Likewise. (constructor2ConstructorForm): Likewise. 2012-05-05 Gabriel Dos Reis * interp/clam.boot (compHash): Rework. * interp/spad.lisp ($reportCounts): Remove. 2012-05-05 Gabriel Dos Reis * interp/clam.boot (compClam): Remove. (compHash): Simplify. Now take only 3 parameters. * interp/c-util.boot (compileQuietly): Remove as unused. * interp/sys-globals.boot ($clamList): Move to clam.boot. * interp/define.boot (compileConstructor1): Call compHash in lieu of compClam. * share/doc/msgs/s2-us.msgs: Remove unused diagnostics, due to compClam removal and compHash simplification. 2012-05-04 Gabriel Dos Reis * interp/define.boot (compileConstructor1): Don't call clearConstructorCache here. Simplify. (compileConstructor): Call clearConstructorCache here. * interp/c-util.boot (backendCompile2): Do not test for membership of $clamList. * interp/clam.boot (compHash): Use compQuietly instead of compileQuietly. 2012-05-04 Gabriel Dos Reis * interp/clam.boot (compHash): Use compQuietly in lieu of compileInteractive. 2012-05-04 Gabriel Dos Reis * interp/lisp-backend.boot (assembleCode): New. * interp/c-util.boot (backendCompileSPADSLAM): Use it. (backendCompile2): Likewise. 2012-05-04 Gabriel Dos Reis * interp/clam.boot ($hashNode): Remove. (compHashGlobal): Likewise. 2012-05-04 Gabriel Dos Reis * interp/clam.boot (compHash): Avoid unnecessary gensyms. 2012-05-03 Gabriel Dos Reis * interp/buildom.boot (lookupDisplay): Tidy. * interp/clam.boot (compHash): Likewise. 2012-05-03 Gabriel Dos Reis * interp/vmlisp.lisp (THROW-PROTECT): Remove. (MDEF): Likewise. (NUM2CHAR): Likewise. (CHAR2NUM): Likewise. 2012-05-03 Gabriel Dos Reis * interp/vmlisp.lisp ($lamName): Remove. (LAM): Likewise. (*LAM): Likewise. (ISQUOTEDP): Likewise. (QUOTESOF): Likewise. (DDQUOTE): Likewise. * interp/lisp-backend.boot (COMPILE1): Simplify. 2012-05-03 Gabriel Dos Reis * interp/c-util.boot: Use LAMBDA type in lieu of LAM. * interp/clam.boot: Likewise. * interp/define.boot: Likewise. * interp/lisp-backend.boot (COMPILE1): Tidy. * interp/slam.boot: Likewise. 2012-05-03 Gabriel Dos Reis * interp/g-opt.boot ($AbstractionOperator): Remove SLAM. * interp/c-util.boot (backendCompileSLAM): Remove. (backendCompileSPADSLAM): Tidy. (backendCompile2): Adjust. 2012-05-03 Gabriel Dos Reis * interp/define.boot (compDefineFunctor1): Use LAMBDA for the resulting functor if not cachable. * interp/clam.boot (compClam): Tidy. (compHash): Likewise. (compHashGlobal): Likewise. * interp/i-eval.boot (evalForm): Use LAMBDA, not LAM. * interp/i-coerce.boot (getSubDomainPredicate): Use %lambda not LAM. 2012-05-03 Gabriel Dos Reis * interp/c-util.boot (makeWorkerName): New. (backendCompileSLAM): Use it. (backendCompileSPADSLAM): Likewise. * interp/clam.boot (compHash): Likewise. Do not synthetize new parameter for unary constructors. 2012-05-02 Gabriel Dos Reis * interp/c-util.boot: Use APPLY, not APPLX. * interp/clam.boot: Likewise. * interp/i-output.boot: Likewise. * interp/slam.boot: Likewise. * interp/vmlisp.lisp (APPLX): Remove. 2012-05-02 Gabriel Dos Reis * interp/c-util.boot (backendCompileSPADSLAM): Do not devaluate argument list. Tidy. 2012-05-02 Gabriel Dos Reis * interp/c-util.boot (backendCompileSPADSLAM): Tidy. Do not devaluate argument of unary constructors. 2012-05-01 Gabriel Dos Reis * interp/vmlisp.lisp (COMPILE1): Move to lisp-backend.boot. ($lamName): Rename from *LAM-NAME*. 2012-05-01 Gabriel Dos Reis * interp/vmlisp.lisp (REMOVE-FLUIDS): Move to lisp-backend.boot. Rename to removeFluids. (SIMPLE-ARGLIST): Move to lisp-backend.boot. Rename to simpleParameterList?. 2012-05-01 Gabriel Dos Reis * interp/vmlisp.lisp (COMP370): Move to c-util.boot (compileLispDefinition): Move to lisp-backend.boot. 2012-05-01 Gabriel Dos Reis * interp/i-special.boot (interpREPEAT): Use CATCH directly. * interp/int-top.boot (intloopSpadProcess): Likewise. * interp/sys-macros.lisp (funcall): Remove. (Catch): Likewise. (Throw): Likewise. (UnwindProtect): Likewise. (SPADCATCH): Likewise. (SPADTHROW): Likewise. (YIELD): Likewise. 2012-04-30 Gabriel Dos Reis * algebra/integer.spad.pamphlet (Integer): Use %iaddmod, %isubmod, %imulmod. * algebra/si.spad.pamphlet (SingleInteger): Likewise. * interp/c-util.boot (devaluate): Use # in lieu of QVSIZE. * interp/g-opt.boot: %ilfshift and %irshift are now builtin side-effect free operations. * interp/lisp-backend.boot: Translate them. * interp/g-util.boot (mergeSort): Avoid QSDIFFERENCE. * interp/slam.boot: Likewise. * interp/sys-macros.lisp: Likewise. * interp/macros.lisp: Avoid QVMAXINDEX. * interp/vmlisp.lisp (QSDIFFERENCE): Remove. (QSGREATERP): Likewise. (QSLEFTSHIFT): Likewise. (QSLESSP): Likewise. (QSMAX): Likewise. (QSMIN): Likewise. (QSMINUS): Likewise. (QSMINUSP): Likewise. (QSODDP): Likewise. (QSABSVAL): Likewise. (QSPLUS): Likewise. (QSZEROP): Likewise. (QVMAXINDEX): Likewise. (QVSIZE): Likewise. (ZERO?): Likewise. 2012-04-30 Gabriel Dos Reis * algebra/si.spad.pamphlet (SingleInteger): Use %iaddmod, %isubmod, and %imulmod. * interp/g-opt.boot: These are now builtin side-effect free operators. (optIaddmod): New optimizer. Register. (optIsubmod): Likewise. (optImulmod): Likewise. * interp/sys-macros.lisp (QSADDMOD): Remove. (QSDIFMOD): Likewise. (QSMULMOD): Likewise. 2012-04-30 Gabriel Dos Reis * interp/compiler.boot: Use float? in lieu of FLOATP. * interp/fortcall.boot: Likewise. * interp/i-object.boot: Likewise. * interp/newfort.boot: Likewise. * interp/i-analy.boot: Compare to 0 in lieu of ZEROP. * interp/i-special.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/sfsfun.boot: Likewise. * interp/sys-driver.boot: Likewise. * interp/macros.lisp: Directly use 1+ instead of QADD1. * interp/preparse.lisp: Likewise. * interp/slam.boot: Likewise. * interp/sys-macros.lisp: Likewise. * interp/sys-constants.boot ($BasicPredicates): Remove as unused. * interp/vmlisp.lisp (ADD1): Remove. (QSADD1): Likewise. (QSSUB1): Likewise. (QSTIMES): Likewise. 2012-04-30 Gabriel Dos Reis * interp/fortcall.boot: Use copyTree, not COPY-TREE. * interp/i-intern.boot: Likewise. * interp/setvars.boot: Likewise. * interp/i-output.boot: Use abstractChar, not EBCDIC. * interp/i-util.boot: Likewise. * interp/vmlisp.lisp (EBCDIC): Remove. (CALLBELOW): Likewise. (RE-ENABLE-INT): Likewise. (QUOREM): Likewise. 2012-04-29 Gabriel Dos Reis * lisp/core.lisp.in (fixnum?): New. * algebra/sex.spad.pamphlet: Use %float? instead of RNUM. Use %integer? instead of INTP. * interp/g-timer.boot: Use float? instead of RNUMP. * interp/i-coerce.boot: Use fixnum? instead of SINTP or SMINTP. * interp/i-intern.boot: Likewise. * interp/lisp-backend.boot: Likewise. * interp/slam.boot: Likewise. * interp/trace.boot: Likewise. * interp/vmlisp.lisp: Likewise. (INTP): Remove. (BINTP): Likewise. (LESSP): Likewise. (LINTP): Likewise. (MAKESTRING): Likewise. (MAPELT): Likewise. (NUMP): Likewise. (RNUMP): Likewise. (SINTP): Likewise. (SMINTP): Likewise. 2012-04-29 Gabriel Dos Reis * interp/debug.lisp: ident? in lieu of IDENTP. * interp/macros.lisp: Likewise. * interp/parsing.lisp: Likewise. * interp/sys-macros.lisp: Likewise. * interp/vmlisp.lisp: Likewise. (IDENTP): Remove. 2012-04-29 Gabriel Dos Reis * boot/ast.boot (bfNumber?): Rename from bfSmintable. Check for floating point literals too. Adjust callers. (bfLessp): Check for integer or floating pointer numbers. * interp/vmlisp.lisp (complex?): New. (complex): Likewise. (realPart): Likewise. (imagPart): Likewise. (conjugate): Likewise. (sqrt): Likewise. 2012-04-28 Gabriel Dos Reis * interp/compiler.boot (finishLambdaExpression): Tidy. (compWithMappingMode): Use %lambda not LAMBDA. * interp/g-opt.boot (changeVariableDefinitionToStore): Handle %closure. 2012-04-28 Gabriel Dos Reis * interp/boot-pkg.lisp (gensym?): Check for non-null object. * interp/clammed.boot: Use it in lieu of GENSYMP. * interp/debug.lisp: Likewise. * interp/g-opt.boot: Likewise. * interp/g-util.boot: Likewise. * interp/i-analy.boot: Likewise. * interp/trace.boot: Likewise. * interp/vmlisp.lisp (GENSYMP): Remove. 2012-03-02 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (MonoidOperation): Noew CoercibleTo SemiGroupOperation T. 2012-02-27 Gabriel Dos Reis * interp/nruncomp.boot (markOperation): New. (optDeltaEntry): Implement better patch for last change. * interp/compiler.boot (compFormWithModemap): Undo last change. 2012-02-26 Gabriel Dos Reis * interp/compiler.boot (compFormWithModemap): Mark implementation resolution as appropriate. 2012-02-26 Gabriel Dos Reis * interp/compiler.boot (emitLocalCallInsn): Mark external operators as such, and local functions as such. (freeVarUsage): Do not count external and local functions. (extractCode): Tidy. Handle closure literals. * interp/g-opt.boot (optCall): Optimize external calls where possible. %external is a side-effect free operator. 2012-02-26 Gabriel Dos Reis * interp/g-util.boot (usedSymbol?): Remove. (bindingForm?): New. (usesVariable?): Likewise. * interp/compiler.boot (declareUnusedParameters): Use it. * interp/g-opt.boot (inlineLocals): Likewise. (optClosure): Likewise. (optBind): Likewise. * interp/define.boot (compContained): Remove. 2012-02-26 Gabriel Dos Reis * interp/c-util.boot (numOfOccurencesOf): Tidy. * interp/compiler.boot (compUnnamedMapping): Fix thinko. * interp/g-opt.boot (semiSimpleRelativeTo?): Likewise. 2012-02-25 Gabriel Dos Reis * interp/compiler.boot (compTopLevel): Do not bind $killOptimizeIfTrue. (compWithMappingMode): Likewise. (compUnnamedMapping): Likewise. (extractCode): Simplify. * interp/g-opt.boot (optClosure): New. Register. (semiSimpleRelativeTo?): An abstraction is always semisimple. * interp/nruncomp.boot ($killOptimizeIfTrue): Remove. (optDeltaEntry): Don't test for it. 2012-02-25 Gabriel Dos Reis * interp/compiler.boot (extractCode): Rename from extractCodeAndConstructTriple. Change Arity. Tidy. Adjust callers. 2012-02-25 Gabriel Dos Reis * interp/compiler.boot (finishLambdaExpression): Use %closure. (extractCodeAndConstructTriple): Likewise. * interp/g-opt.boot (optCall): Adjust. 2012-02-25 Gabriel Dos Reis * interp/nruncomp.boot (genDeltaEntry): Fix thinko. 2012-02-24 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (BinaryOperatorCategory): New. (BinaryOperation): Likewise. (IdempotentOperatorCategory): Likewise. (SemiGroupOperatorCategory): Likewise. (SemiGroupOperation): Likewise. (MonoidOperatorCategory): Likewise. (MonoidOperation): Likewise. * algebra/exposed.lsp.pamphlet: Expose them. * algebra/Makefile.in (oa_algebra_layer_0): Include IDEMOPC, SGPOPC, SPGOP, MONOPC, BINOPC. (axiom_algebra_layer_1): Include MONOP. 2012-02-24 Gabriel Dos Reis * interp/lexing.boot: "assume" is now also a keyword for the compiler. * interp/spad-parser.boot (parseCategory): Accept exported properties. (parseFormula): New. 2012-02-23 Gabriel Dos Reis * interp/nruncomp.boot (genDeltaEntry): Replace applyFun with %apply. * interp/lisp-backend.boot (expandApply): Remove. Unregister expander. * interp/g-opt.boot (optCall): applyFun is not longer an opcode. Look for %apply. * interp/compiler.boot (applyMapping): Generate ['%call,['%apply,.]] form, not ['%apply,..] form. (extractCodeAndConstructTriple): Tidy. (compApplication): Likewise. 2012-02-19 Gabriel Dos Reis * interp/lexing.boot (getNumberToken): New. (getArgumentDesignator): Likewise. (getToken): Use it. * interp/parsing.lisp (GET-NUMBER-TOKEN): Remove. * interp/bootlex.lisp (INIT-BOOT/SPAD-READER): Move to spad.lisp. (SPAD): Likewise. (READ-SPAD1): Likewise. (TEST): Remove. (GET-ARGUMENT-DESIGNATOR-TOKEN): Likewise. 2012-02-19 Gabriel Dos Reis * interp/compiler.boot (compBuiltinDomain): Compute the exports from parentsOfBuiltinInstance. * interp/buildom.boot (parentsOfBuiltinInstance): Tidy. 2012-02-19 Gabriel Dos Reis * interp/compiler.boot (compBuiltinDomain): Rename from compCat. 2012-02-19 Gabriel Dos Reis * interp/br-data.boot (libConstructorSig): Rename T$ to T for external name printing. Do not call ncParseFromString. 2012-02-15 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (Ring): Extends SemiRing. (Dioid): New. Extend OrderedAbelianMonoid and SemiRing. * algebra/exposed.lsp.pamphlet: Expose Dioid. 2012-02-13 Gabriel Dos Reis * interp/g-util.boot (stripTags): Rename from stripUnionTags. Adjust callers. * interp/database.boot (genericInstanceForm): New. * interp/buildom.boot (parentsOfBuiltinInstance): New. (builtinInstanceForm): Likewise. * interp/br-data.boot (genericParentsOf): New. (parentsOfForm): Use it, (ancestorsRecur): Likewise. * interp/br-con.boot (originInOrder): Use parentsOfForm. 2012-02-12 Gabriel Dos Reis * interp/define.boot (getCatAncestors): Remove. Adjust caller. (depthAssoc): Tidy. (NRTmakeCategoryAlist): Tidy. 2012-02-12 Gabriel Dos Reis * interp/define.boot (NRTcatCompare): Remove. (NRTmakeCategoryAlist): Don't call NRTcatCompare. Tidy. 2012-02-12 Gabriel Dos Reis * interp/define.boot (depthAssocList): Take the cache as second argument. Avoid globals. Adjust Callers. (depthAssoc): Likewise. Adjust Caller. (NRTmakeCategoryAlist): Remove uses of $depthAssocCache. 2012-02-12 Gabriel Dos Reis * algebra/coerce.spad.pamphlet (Type): Redefine as empty Join. * interp/category.boot (Join): Handle empty argument list. 2012-02-11 Gabriel Dos Reis * interp/define.boot (getParentsFor): Lose second parameter. Tidy. Adjust callers. * interp/br-data.boot (getParentsForDomain): Remove. (parentsOf): Call getParentsFor in lieu of getParentsForDomain. (folks): Move to define.boot. 2012-02-11 Gabriel Dos Reis * interp/br-data.boot (ancestorsRecur): Tidy. * interp/define.boot (compDefineCategory2): Likewise. 2012-02-11 Gabriel Dos Reis * interp/br-data.boot (getParentsFor): Move to define.boot. (explodeIfs): Likewise. (getParentsForDomain): Tidy. (ancestorsRecur): Likewise. 2012-02-09 Gabriel Dos Reis * interp/define.boot (mkEvalableCategoryForm): Compile only CATEGORY and SubsetCategory forms. 2012-02-09 Gabriel Dos Reis * interp/database.boot (categoryConstructor?): New. * interp/define.boot (mkEvalableCategoryForm): Use it. Tidy. 2012-02-08 Gabriel Dos Reis * interp/g-opt.boot (optCall): Simplify SPADCALL of atomic function expressions. ($VMsideEffectFreeOperators): Don't include %funcall. ($simpleVMoperators): Include it. 2012-02-07 Gabriel Dos Reis * algebra/Makefile.in (oa_algebra_layer_0): Include FINITE-. 2012-02-06 Gabriel Dos Reis * interp/lisplib.boot (dbLocateModule): New. (findModule): Use it. Simplify. (loadLib): Tidy. (genericLoadDB): New. (loadDB): Use it. (loadDBIfCan): New. * interp/c-util.boot (lookupDefiningFunction): Give up gracefully if the domain of computation is not compiled yet. * algebra/Makefile.in ($(OUT)/SPADAST.$(FASLEXT)): Require $(OUT)/SUCHTAST.$(FASLEXT). 2012-02-04 Gabriel Dos Reis * interp/nruncomp.boot (getLocalIndex): Fast track niladic constructors. * algebra/syntax.spad.pamphlet: Miscellaneous cleanup. 2012-02-03 Gabriel Dos Reis * utils/vm.H: Add more VM data structures. * utils/vm.cc (BasicContext::make_operator): Define. * algebra/Makefile.in (SPADFILES): Include syntax.spad and spad-parser.spad. 2012-01-14 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (Finite) [random]: Provide default implementation. * algebra/boolean.spad.pamphlet (KleeneTrivalentLogic): Now satisfy Finite. Use Maybe Boolean as representation. 2012-01-14 Gabriel Dos Reis * interp/i-util.boot ($intTopLevel): Move to sys-constants.boot. * interp/g-error.boot (returnToTopLevel): Tidy. * interp/macros.lisp (applyWithOutputToString): Likewise. 2012-01-14 Gabriel Dos Reis * interp/spaderror.lisp: Move convent to spad.lisp. Remove. 2012-01-14 Gabriel Dos Reis * interp/patches.lisp: Move content to msgdb.boot. Remove. 2012-01-14 Gabriel Dos Reis * interp/word.boot: Add import and scope statements. Include in final executables. (infix?): Remove as duplicate in match.boot. (prefix?): Likewise. (suffix?): Likewise. * interp/g-error.boot (returnToTopLevel): Tidy. * interp/debug.lisp (/D-2): Use spadThrow in lieu of UNWIND. * interp/patches.lisp (CATCHALL): Remove. (DBRINIT): Likewise. (TOPLEVEL): Likewise. (TOP-LEVEL): Likewise. (UNWIND): Likewise. (RESUME): Likewise. (booFind): Likewise. 2012-01-14 Gabriel Dos Reis * lisp/core.lisp.in (mkIntArray): New. Export. * interp/patches.lisp (/RF): Move to cparse.boot. (/RQ): Likewise. (/RQ,LIB): Likewise. (/RF-1): Likewise. (/EF): Move to spad.lisp. (construct): Remove. (READSPADEXPR): Likewise. (SHAREDITEMS): Likewise. (installStandardTestPackages): Likewise. (spadtestValueHook): Likewise. (testError): Likewise. ($TestOptions): Likewise. (rebuild): Likewise. ($ViewportProcessToWatch): Likewise. (setViewportProcess): Likewise. (waitForViewport): Likewise. * interp/i-analy.boot (pushDownOp?): Use mkIntArray in place of GETZEROVEC. * interp/i-funsel.boot (argCouldBelongToSubdomain): Likewise. * interp/i-intern.boot (flagArguments): Likewise. 2012-01-12 Gabriel Dos Reis * interp/category.boot: Rename AncestorP to ancestor?. Rename DescendantP to descendant?. * interp/define.boot: Likewise. * interp/functor.boot: Likewise. 2012-01-12 Gabriel Dos Reis * boot/parser.boot (bpFunction): New. (bpConstTok): Include it. * boot/ast.boot (bfFunction): New. * boot/tokens.boot: `function' is now a keyword. 2012-01-11 Gabriel Dos Reis * boot/tokens.boot (keywordId): New. * boot/parser.boot (bpSexpKey): Use it. * interp/i-map.boot (mapPredTran): Fix thinko. 2012-01-09 Gabriel Dos Reis * boot/parser.boot (bpRequire): New. Use it throughout this module. 2012-01-08 Gabriel Dos Reis * boot/ast.boot (bfEnum): New. * boot/translator.boot (translateToplevel): Use it to translate enumeration definitions. * interp/types.boot (%ConstructorKind): Use new syntax. 2012-01-01 Gabriel Dos Reis * interp/define.boot (evalCategoryForm): New. (mkCategoryPackage): Use it. (compMakeCategoryObject): Likewise. * interp/nruncomp.boot (NRTsetVector4a): Likewise. 2011-12-30 Gabriel Dos Reis * algebra/fraction.spad.pamphlet (Localize): Tidy. 2011-12-28 Gabriel Dos Reis * interp/vmlisp.lisp (SORTBY): Remove. (QSORT): Likewise. * interp/c-util.boot (formal?): Rename from isFormal. Avoid POSITION. * interp/sys-utility.boot (sortBy): New. * interp/br-op1.boot: Use it. * interp/clam.boot: Likewise. * interp/define.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/showimp.boot: Likewise. * boot/tokens.boot: "<-" is now a token. * boot/ast.boot (bfKeyArg): New. (bfExpandKeys): Likewise. (bfApplication): Use it. * boot/parser.boot (bpKeyArg): New. (bpAssign): Use it. Parse named arguments. 2011-12-28 Gabriel Dos Reis * boot/tokens.boot: Remove redundant renaming of REM. loopBody and loopExit are not selectors. * interp/i-output.boot: Include sys-utility. * interp/sys-utility.boot (last): New macro. (loopBody): Likewise. * interp/vmlisp.lisp (LASTNODE): Remove. (LASTPAIR): Likewise. (last): Do not define here. 2011-12-27 Gabriel Dos Reis * boot/tokens.boot: Do not rewrite drop and take. * boot/utility.boot (drop): Define and export. (take): Likewise. * interp/br-con.boot: Use take, not TAKE; use drop, not DROP. * interp/br-data.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/c-util.boot: Likewise. * interp/cattable.boot: Likewise. * interp/clammed.boot: Likewise. * interp/compiler.boot: Likewise. * interp/database.boot: Likewise. * interp/define.boot: Likewise. * interp/guess.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/i-analy.boot: Likewise. * interp/i-eval.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-special.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/i-util.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/parse.boot: Likewise. * interp/record.boot: Likewise. * interp/setvars.boot: Likewise. * interp/slam.boot: Likewise. * interp/trace.boot: Likewise. * interp/word.boot: Likewise. * interp/macros.lisp (DROP): Remove. (TAKE): Likewise. 2011-12-27 Gabriel Dos Reis * interp/g-opt.boot (coagulateWhenSeries): Simplify. (packWhen!): Likewise. (unnestWhen!): Tidy. (removeScope!): Handle %when forms. 2011-12-27 Gabriel Dos Reis * interp/g-opt.boot (exitScope?): Now return an expression or nil. (cancelScopeLeave!): Tidy. 2011-12-27 Gabriel Dos Reis * algebra/prs.spad.pamphlet (PseudoRemainderSequence): Tidy. 2011-12-27 Gabriel Dos Reis * interp/g-opt.boot (changeVariableDefinitionToStore): Tidy. Remove handling of IF forms as no longer relevant. * algebra/matfuns.spad.pamphlet (MatrixLinearAlgebraFunctions) [rank]: Tidy. 2011-12-27 Gabriel Dos Reis * algebra/matfuns.spad.pamphlet (InnerMatrixLinearAlgebraFunctions) [rank]: Tidy. 2011-12-24 Gabriel Dos Reis * interp/g-opt.boot (unnestWhen!): Recurse into more control structures. 2011-12-24 Gabriel Dos Reis * algebra/rep2.spad.pamphlet (RepresentationPackage2) [areEquivalent?]: Tidy. 2011-12-18 Gabriel Dos Reis * interp/g-opt.boot (unnestWhen!): New. (packWhen!): Simplify. (optimize!): Run before changeVariableDefinitionToStore. 2011-12-17 Gabriel Dos Reis * interp/g-opt.boot (removeScope!): New. (optimize!): Call it. (optimizeFunctionDef): Simplify. 2011-12-17 Gabriel Dos Reis * interp/compiler.boot (compColon): Handle multiple declarations properly. 2011-12-17 Gabriel Dos Reis * interp/compiler.boot (finishVectorCollect): Rename from optCollectVector. Move here. (compRepeatOrCollect): Use it. 2011-12-16 Gabriel Dos Reis * interp/g-opt.boot (freeIteratorFirstValues): New. (cleanLoop!): Use it. * interp/lisp-backend.boot ($freeVarName): Remove. (loopVarInit): Do not generate initializer for free iterators. Adjust callers. (massageFreeVarInits): Remove. Adjust caller. 2011-12-16 Gabriel Dos Reis * interp/compiler.boot (finishListCollect): New. (compRepeatOrCollect): Use it. * interp/g-opt.boot (optCollectVector): Likewise. * interp/lisp-backend.boot (expandCollect): Likewise. 2011-12-15 Gabriel Dos Reis * interp/g-util.boot (prefixWalk!): New. * interp/g-opt.boot (cleanLoop!): Rename from removeLoopExitTag!. Adjust caller. Rewrite as a prefix walk. 2011-12-15 Gabriel Dos Reis * interp/g-opt.boot (removeLoopExitTag!): New. (optimize!): Run it first. * interp/compiler.boot (nullifyTargetingLeaves): Remove. (massageLoop): Likewise. (compRepeatOrCollect): Don't call it anymore. 2011-12-15 Gabriel Dos Reis * interp/compiler.boot: Rename %loop to %repeat. Propagate. * interp/g-opt.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-special.boot: Likewise. * interp/lisp-backend.boot: Likewise. * interp/slam.boot: Likewise. 2011-12-15 Gabriel Dos Reis * interp/g-opt.boot (modified?): Tidy. 2011-12-15 Gabriel Dos Reis * lisp/core.lisp.in: Do not require SB-SPROF or SB-POSIX on Windows. 2011-12-14 Gabriel Dos Reis * interp/g-opt.boot (packWhen!): Tidy. 2011-12-14 Gabriel Dos Reis * interp/g-opt.boot (exitScope?): New. (packWhen!): Use it. (coagulateWhenSeries): Tidy. (cancelScopeLeave!): Likewise. 2011-12-14 Gabriel Dos Reis * interp/g-opt.boot (removeNeedleesLeave): Remove. (optScope): Adjust. (removeLeave!): New. (optimize!): Run it at the very beginning. 2011-12-13 Gabriel Dos Reis * interp/g-opt.boot (optSeq): Remove. Adjust callers. 2011-12-13 Gabriel Dos Reis * interp/g-opt.boot (replaceableTemporary?): Remove. (optSeq,getRidOfTemps): Likewise. (optSeq): Rewrite. * interp/slam.boot (compileRecurrenceRelation): Tidy. 2011-12-13 Gabriel Dos Reis * interp/g-opt.boot (removeJunk!): Rename from removeSeq! (cancelScopeLeave!): New. (inlineLocals!): Tidy. (optimize!): Run cancelScopeLeave! right after removeJunk!. 2011-12-12 Gabriel Dos Reis * interp/g-opt.boot: Rework. Schedule conditional splitting before changing %LETs to %stores. Run beta reduction and condtional splitting afterward, one more time. (optimizeFunctionDef): Simplify. 2011-12-12 Gabriel Dos Reis * interp/g-opt.boot (packWhen!): Tidy. (spliceSeq!): New. (optimize!): Run splice! packWhen! twice. 2011-12-11 Gabriel Dos Reis * interp/g-util.boot (liftAassignments!): New. (splitAssignments!): Use it. * algebra/multpoly.spad.pamphlet (SparseMultivariatePolynomial): Fix thinko. 2011-12-11 Gabriel Dos Reis * interp/g-opt.boot (inlineLocals!): Single-used temporaries should go. (spliceSeqArgs): Splice sequences drapped in %scope cloths too. 2011-12-11 Gabriel Dos Reis * interp/compiler.boot (compColon): Give initial %undefined value to local variable declarations which are not definitions. * interp/lisp-backend.boot (expandToVMForm): Translate %undefined. 2011-12-10 Gabriel Dos Reis * interp/g-opt.boot (optSeq): Remove splicePROGN as redundant. * interp/functor.boot (optFunctorBody): Generate %seq form, not PROGN. (DescendCode): Likewise. * interp/c-util.boot (displayComp): Fix thinko. 2011-12-10 Gabriel Dos Reis * interp/g-opt.boot (optSeq): Remove seqToCOND as now redundant with packWhen!. 2011-12-10 Gabriel Dos Reis * boot/parser.boot (bpArgtypeList): Accept mapping types. * boot/ast.boot (bfType): New. * boot/translator.boot (genDeclaration): Use it. * boot/utility.boot (every?): New. Export. (any?): Likewise. (takeWhile): Lilkewise. 2011-12-10 Gabriel Dos Reis * interp/g-opt.boot (mkDefault): New. (coagulateWhenSeries): Likewise. (packWhen!): Likewise. Use them. (optimize!): Call it. Tidy. 2011-12-09 Gabriel Dos Reis * interp/lisp-backend.boot (loopVarInit): Generate VM forms, not Lisp. (expandIN): Likewise. (expandON): Likewise. (expandSTEP): Likewise. (expandUNTIL): Likewise. (expandWHILE): Likewise. (expandSUCHTHAT): Likewise. (expandInit): Likewise. (expandIterators): Likewise. (massageFreeVarInits): Likewise. (expandLoop): optimize! then expand. 2011-12-09 Gabriel Dos Reis * interp/g-opt.boot (packWehn!): New. (optimize!): Use it. 2011-12-07 Gabriel Dos Reis * interp/g-opt.boot (tranformIF!): New. (optimize!): Likewise. Abstract from optimizeFunctionDef. (optimize): New. (optimizeFunctionDef): Use optimize!. (simplifyVMForm): Do not call optIF2COND. (optIF2COND): Remove. * interp/compiler.boot (compHasFormat): Use optimize! in lieu of simplifyVMForm. * interp/nruncomp.boot (NRTencode): Use optimize. (NRTsetVector4a): Likewise. 2011-12-07 Gabriel Dos Reis * interp/g-opt.boot: %writeString, %writeNewline and %writeLine are side-effect full. (removeSeq!): Tidy. Skip side-effectfree statements. 2011-12-07 Gabriel Dos Reis * interp/g-opt.boot (removeSeq!): New. (inlineLocals!): Likewise. (optimizeFunctionDef): Use them. (optSeq): Tidy. * interp/buildom.boot (seteltRecordFun): Tidy. * interp/clam.boot (compHash): Likewise. 2011-12-07 Gabriel Dos Reis * interp/g-opt.boot (groupTranscients!): New. (reduceXLAM!): Likewise. (optimizeFunctionDef): Call them before simplifyVMForm. * interp/g-util.boot (mkSeq): New. (abstraction?): Likewise. (walkWith!): Likewise. 2011-12-07 Gabriel Dos Reis * interp/compiler.boot (compReduce1): Tidy. * interp/define.boot (compDefineCategory2): Likewise. * interp/nruncomp.boot (buildFunctor): Likewise. * interp/slam.boot (compileRecurrenceRelation): Likewise. * interp/lisp-backend.boot (expandSeq): Use PROGN in absence of EXIT. 2011-12-06 Gabriel Dos Reis * interp/compiler.boot (setqMultipleExplicit): Introduced temporary variables are local to the assignment. 2011-12-06 Gabriel Dos Reis * interp/compiler.boot (compResolveCall): Update description. (compRetractGuard): Tidy. (compRecoverDomain): Likewise. (compRecoverGuard): Likewise. (compAlternativeGuard): Likewise. (compMatchAlternative): Likewise. (compMatch): Likewise. 2011-12-05 Gabriel Dos Reis * interp/g-util.boot (splitAssignments): Rework. (spliceSeqArgs): Tidy. * algebra/gdpoly.spad.pamphlet (GeneralDistributedMultivariatePolynomial): Fix thinko. 2011-12-05 Gabriel Dos Reis * interp/g-opt.boot (changeVariableDefinitionToStore): Separately handle %bind and LET forms. * interp/g-util.boot (spliceSeqArgs): Recurse into %seq forms. 2011-12-04 Gabriel Dos Reis * interp/compiler.boot (freeVarUsage): Handle %bind and LET. 2011-12-04 Gabriel Dos Reis * interp/g-util.boot (splitAssignments): New. (spliceSeqArgs): Use it. 2011-12-03 Gabriel Dos Reis * interp/lisp-backend.boot (hasNoExit?): New. (expandSeq): Likewise. Use it. Expand %seq forms. 2011-12-03 Gabriel Dos Reis * interp/compiler.boot: Use %seq in lieu of PROGN. * interp/g-util.boot (spliceSeqArgs): New. * interp/g-opt.boot (changeVariableDefinitionToStore): Call it before recursing on %seq forms. 2011-12-03 Gabriel Dos Reis * interp/compiler.boot (setqMultiple): Handle lhs and rhs of type Cross instance. * interp/g-util.boot ($DomainNames): Include Cross. * interp/cattable.boot (genCategoryTable): Do not eval Cross. It is bogus to prepopulate the table with builtin functors anyway. * algebra/triset.spad.pamphlet (PolynomialSetUtilitiesPackage)[removeRedundantFactors]: Do not define `c' and `d' in conditional. Make the initializer conditional. 2011-12-03 Gabriel Dos Reis * interp/nruncomp.boot (washFunctorBody) [clean]: Clean %when forms too. 2011-12-03 Gabriel Dos Reis * interp/compiler.boot: Replace %labelled with %scope. * interp/define.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/g-util.boot: Likewise. Rename mkLabelled to mkScope. 2011-12-02 Gabriel Dos Reis * interp/g-opt.boot (groupVariableDefinitions): Simplify a bit. (optimizeFunctionDef): Likewise. Change %LET to %store before simplification. (simplifyVMForm): Do not call changeVariableDefinitionToStore. 2011-12-02 Gabriel Dos Reis * interp/g-util.boot (hasNoLeave?): Move from g-opt.boot. (mkLabelled): New. (mkBind): Likewise. * interp/g-opt.boot (groupVariableDefinitions): Use them. * algebra/aggcat.spad.pamphlet (ListAggregate) [merge!]: Declare local variables `r' and `s' before assigning to them. 2011-12-02 Gabriel Dos Reis * interp/g-opt.boot (iteratorName): New. (changeLoopVarDefsToStore): Likewise. (changeVariableDefinitionToStore): Use it. Tidy. (groupVariableDefinitions): Tidy. 2011-12-02 Gabriel Dos Reis * interp/buildom.boot (seteltRecordFun): Change EXIT to %exit. * interp/clam.boot (compHash):Likewise. * interp/g-opt.boot (changeVariableDefinitionToStore): Likewise. (jumpToToplevel?): Likewise. (groupVariableDefinitions): Likewise. (changeLeaveToExit): Likewise. (optLabelled): Likewise. (optSeq): Likewise. * interp/lisp-backend.boot: Translate %exit to EXIT. 2011-12-02 Gabriel Dos Reis * interp/buildom.boot (setelt): Change SEQ to %seq. * interp/clam.boot (compHash): Likewise. * interp/compiler.boot (freeVarUsage): Likewise. (canReturn): Likewise. * interp/i-special.boot (compileIs): Likewise. * interp/g-opt.boot (changeVariableDefinitionToStore): Likewise. (jumpToToplevel?): Likewise. (groupVariableDefinitions): Likewise. (changeLeaveToExit): Likewise. (optLabelled): Likewise. (optSeq): Rename from optSEQ. Adjust callers. * interp/lisp-backend.boot: Translate %seq to SEQ. 2011-12-02 Gabriel Dos Reis Fix SF/3448433 * interp/br-util.boot (bcPred): Do not compare pred against a string. 2011-12-02 Gabriel Dos Reis * interp/g-opt.boot (modified?): Examine the rhs too. 2011-12-01 Gabriel Dos Reis * interp/g-opt.boot (changeVariableDefinitionToStore): Handle SEQ forms too. (groupVariableDefinitions): Handle %bind and %loop forms. * interp/lisp-backend.boot (expandLoop): Special code for case where there is explicit exit condition, for better pretty-printing. 2011-12-01 Gabriel Dos Reis * interp/g-opt.boot (groupVariableDefinitions): Look through %labelled and %lambda. (optimizeFunctionDef): Use copyTree, not COPY. Simplify. (simplifyVMForm): Perform changeVariableDefinitionToStore and groupVariableDefinitions on abstraction forms. 2011-12-01 Gabriel Dos Reis * interp/define.boot (compDefineCategory): Lose prefix parameter. It is always nil. Adjust caller. (compDefineCategory1): Likewise. (compDefineCategory2): Likewise. (compDefineFunctor): Likewise. (compDefineFunctor1): Likewise. Bind it to nil. * interp/lisplib.boot (compDefineLisplib): Likewise. 2011-12-01 Gabriel Dos Reis * interp/compiler.boot (compSeq1): Generate %labelled forms. (coerceExit): Likewise. (compRepeatOrCollect): Likewise. (replaceExitEtc): Tidy. (canReturn): Likewise. (compIterate): Generate %lave form. (nullifyTargetingLeaves): Move out of massageLoop. (massageLoop): Adjust. * interp/define.boot (compDefineCapsuleFunction): Generate %labelled form for the body. * interp/g-opt.boot: Now handle %labelled and %leave forms. (optLabelled): Rename from optCatch. 2011-12-01 Gabriel Dos Reis * interp/buildom.boot (UnionEqual): Use %lambda, not %lam. (coerceUn2E): Likewise. * interp/compiler.boot (massageLoop): %leave now takes a label as first argument. * interp/lisp-backend.boot (expandLeave): New. Expand accordingly. 2011-11-30 Gabriel Dos Reis * interp/define.boot (registerInlinableDomain): Lose last argument. Recursively nominate constructor argument for inlining. Adjust callers. * interp/c-util.boot: Tidy. * algebra/Makefile.in: Tidy. 2011-11-30 Gabriel Dos Reis * interp/c-util.boot (clearReplacement): Clear redex replacement. (registerRedexForm): New. (redexForm): Likewise. (inlineDirectCall): Inline functions with known redex forms. (foldExportedFunctionReferences): Compute redex forms. (backendCompileILAM): Remove as unused. (backendCompile2): Adjust. (massageBackendCode): Likeiwse. * interp/define.boot (compDefineCapsuleFunction): Clear replacement info. 2011-11-29 Gabriel Dos Reis * boot/tokens.boot (absKind, absParms, absBody): New selectors. * interp/compiler.boot (canReturn): Handle %lambda forms. (compUnnamedMapping): Generate %lambda forms. Don't optimize them yet. * interp/g-opt.boot: %lambda forms are side-effect free. * interp/lisp-backend.boot: Translate them. 2011-11-29 Gabriel Dos Reis * interp/g-opt.boot (isSimpleForm): Remove as unused. (floatableVMForm?): New. (modified?): Rename form varIsAssigned. (canInlineVarDefinition): Tidy. Allow intermediate temporaries initialized from variables to be inlined if not modified. (optBind): Tidy. 2011-11-28 Gabriel Dos Reis * interp/nruncomp.boot (genDeltaEntry): Use $ for the domain of computation it if is the expanded form of the current domain. 2011-11-28 Gabriel Dos Reis * interp/c-util.boot (inlineDirectCall): Inline a non-side effect free argument in a unary pure function call if it is used exactly once. * algebra/integer.spad.pamphlet (Integer) [reducedSystem]: Fix typo. 2011-11-28 Gabriel Dos Reis * interp/define.boot (encodeCatform): Handle $ here. * interp/nruncomp.boot (deltaTran): assocIndex now handles $. (getLocalIndex): Likewise. (NRTencode): Handle $ before calling assocIndex. (assocIndex): Handle $. 2011-11-27 Gabriel Dos Reis * interp/nruncomp.boot (genDeltaEntry): Replace Rep with its value if it is the domain of computation. 2011-11-27 Gabriel Dos Reis * interp/database.boot (dbDefaultPackage?): New. * interp/define.boot (compDefine1): Avoid encodeItem when symbolName is meant. (mkRepititionAssoc): Move from functor.boot (encodeItem): Likewise. (getCaps): Likewise. Tidy. (encodeFunctionName): Likewise. 2011-11-27 Gabriel Dos Reis * interp/define.boot (assignCapsuleFunctionSlot): Slot original signature too. * interp/nruncomp.boot (genDeltaEntry): Likewise. (getLocalIndex): Tidy. (changeDirectoryInSlot1): Tidy. (vectorLocation): Add a kind of operation as fourth argument. Adjust caller. Do not reconstruct the signature. (NRTsubstDelta): Remove as no longer used. 2011-11-26 Gabriel Dos Reis * interp/nruncomp.boot (assocIndex): Rename from NRTassocIndex. Adjust callers. 2011-11-26 Gabriel Dos Reis * interp/define.boot (assignCapsuleFunctionSlot): Do not call NRTisExported?. Determine operation kind locally. Do not store implement slot on the used entity list. * interp/nruncomp.boot (genDeltaEntry): Likewise. (deltaTran): Simplify. (NRTisExported?): Remove. (vectorLocation): Adjust. 2011-11-26 Gabriel Dos Reis * algebra/indexedp.spad.pamphlet: Avoid direct use or RPLACD. * algebra/poly.spad.pamphlet: Likewise. * interp/define.boot (spadCompileOrSetq): Tidy replacement info. * interp/i-output.boot ($BinaryOperators): New. (binaryInfix?): Tidy. 2011-11-26 Gabriel Dos Reis * interp/nruncomp.boot (genDeltaEntry): Split first argument into separate arguments (operation and modemap). Adjust callers. 2011-11-26 Gabriel Dos Reis * interp/c-util.boot (updateCapsuleDirectory): Simplify. * interp/define.boot (compDefineCapsuleFunction): Call it from here. * interp/functor.boot (DescendCode): Not here. 2011-11-26 Gabriel Dos Reis * interp/define.boot ($NRTdeltaList): Remove. ($NRTdeltaListComp): Likeewise. (compDefineFunctor1): Do not bind them. (assignCapsuleFunctionSlot): Use dbUsedEntities. * interp/nruncomp.boot (NRTaddDeltaCode): Likewise. (dbEntitySlot): New. (NRTassocIndex): Use it. (genDeltaEntry): Use dbUsedEntities. (getLocalIndex): Likewise. (vectorLocation): Likewise. (NRTsubstDelta): Likewise. 2011-11-25 Gabriel Dos Reis * interp/br-con.boot (conOpPage1): Fix typo. * interp/c-util.boot (registerConstructor): New. (currentConstructor): Likewise. (makeCompilationData): Initialize dbEntityBuffer. (dbEntityBuffer): New. (dbUsedEntities): Likewise. (dbEntityCount): Likewise. * interp/compiler.boot: Adjust call to getLocalIndex, NRTassocIndex * interp/define.boot: Likewise. ($NRTdeltaLength): Remove. * interp/nruncomp.boot: Likewise. 2011-11-25 Gabriel Dos Reis * interp/define.boot (processDefinitionParameters): New. Abstract from compDefineCapsuleFunction. (compDefineCapsuleFunction): Use it. Tidy. 2011-11-25 Gabriel Dos Reis * interp/define.boot: Rearrange order of some definitions. (getArgumentMode): Tidy. (hasSigInTargetCategory): Likewise. (refineDefinitionSignature): New. Abstract from compDefineCapsuleFunction. (compDefineCapsuleFunction): Use it. Tidy. 2011-11-24 Gabriel Dos Reis * interp/define.boot ($suffix): Remove toplevel declaration. (localOperation?): New. (compDefineCapsuleFunction): Increment $suffix. Check for local and exported function definition here. (compile): Move capsule-local function processing out. 2011-11-24 Gabriel Dos Reis * interp/define.boot: Tidy. * interp/functor.boot: Likewise. * interp/g-util.boot: Likewise. * interp/slam.boot: Likewise. * interp/topics.boot: Likewise. * interp/trace.boot: Likewise. 2011-11-24 Gabriel Dos Reis * interp/nruncomp.boot (changeDirectoryInSlot1,sigloc): Add first parameter as a DB. Adjust caller. (NRTsubstDelta): Tidy. 2011-11-23 Gabriel Dos Reis * interp/functor.boot (findOperatorImplementations): Rename from LookUpSigSlots. Tidy. Adjust caller. (makeMissingFunctionEntry): Remove as unused. 2011-11-23 Gabriel Dos Reis * interp/define.boot ($CheckVectorList): Remove. (compDefineFunctor1): Do not bind it. (reportOnFunctorCompilation): Do not call displayMissingFunctions. (displayMissingFunctions): Remove as useless. * interp/functor.boot (SetFunctionSlots): Do not set slot in the first vector of $catvecList. * interp/nruncomp.boot (buildFunctor): Remove makeCatvecCode, emptyVector, domainShell. Do not call NRTcheckVector. (NRTcheckVector): Remove as useless. 2011-11-23 Gabriel Dos Reis * interp/nruncomp.boot (NRTaddDeltaCode): Do not guard the loop by the values in the first vector in $catvecList. It is pointless. 2011-11-23 Gabriel Dos Reis * interp/functor.boot (SigSlotsMatch): Remove. Adjust caller. (LookUpSigSlots): Tidy. 2011-11-22 Gabriel Dos Reis * interp/define.boot (compile): Take the signature as third argument. Adjust callers. (compDefineFunctor1): Do not bind $functionLocations. (compDefineCapsuleFunction): Do not update. * interp/lisplib.boot (transformOperationAlist): Do not consult $functionLocations. 2011-11-22 Gabriel Dos Reis * interp/define.boot (assignCapsuleFunctionSlot): Move from nruncomp.boot. Rename from NRTassignCapsuleFunctionSlot. Take first parameter as a DB. Adjust callers. (compDefineCapsuleFunction): Tidy. 2011-11-21 Gabriel Dos Reis * interp/nruncomp.boot (getLocalIndex): Rename from NRTgetLocalIndex. Adjust callers. * interp/compiler.boot: Adjust. * interp/define.boot: Likewise. 2011-11-18 Gabriel Dos Reis * interp/category.boot (FindFundAncs): Tidy. Access input in accordance with documented abstract structure. 2011-11-17 Gabriel Dos Reis * interp/i-eval.boot (evaluateType): Handle % and and signatures. (evaluateFormAsType): Handle builtin constructor instantiations. 2011-11-16 Gabriel Dos Reis * interp/category.boot (mkCategory): Tidy. (SigListUnion): Likewise. The last argument is not a vector buffer. (JoinInner): Use a vector buffer for scratch space to compute the initial principal ancestor. Simplify copy logic. * interp/g-util.boot (mkBuffer): New. (bufferData): New. (buffeLength): Likewise. (resizeBuffer): Likewise. (bufferToVector): Likwise. * lisp/core.lisp.in (mkVector): New. Export. 2011-11-15 Gabriel Dos Reis * interp/category.boot (JoinInner): Remove effective dead code controlled by originalvector which has non-changing value false. 2011-11-15 Gabriel Dos Reis * interp/category.boot (JoinInner): Use idiomatic Boot for loops. 2011-11-14 Gabriel Dos Reis * interp/category.boot ($NewCatVec): Remove. (SigListUnion): Take the principal ancestor as third argument. Use it instead of $NewCatVec. Adjust caller. (JoinInner): Do not bind $NewCatVec. Introduce local variable principal. Tidy. 2011-11-13 Gabriel Dos Reis * interp/category.boot (filterConditionalCategories): Split out of JoinInner. (JoinInner): Call it. 2011-11-13 Gabriel Dos Reis * interp/category.boot (SigListMember): Remove as deadcode. (SigEqual): Remove. (predicateImplies): Rename from PredImplies. Rework it to match documentation. Adjust callers. (CondAncestorP): Adjust arguments in call to predicateImplies. (JoinInner): Likewise. 2011-11-13 Gabriel Dos Reis * lisp/core.lisp.in: Export %sysInit. * interp/sys-driver.boot (%sysInit): Don't redefine. Reset function binding. 2011-11-13 Gabriel Dos Reis * interp/category.boot (JoinInner): Tidy. 2011-11-13 Gabriel Dos Reis Fix SF/3436999 * utils/storage.H: Revert accidental commit of unfinished changes. 2011-11-13 Gabriel Dos Reis * interp/sys-driver.boot (initializeDatabases): Honor --initial-db. (initializeGlobalState): Don't bind $compileDefaultsOnly. * interp/sys-globals.boot ($compileDefaultsOnly): Remove. * interp/define.boot (compDefineCategory): Adjust. (compDefineCategory1): Likewise. (compDefineFunctor1): Clear dbCapsuleDefinitions. * interp/lisplib.boot (compDefineLisplib): Tidy. * interp/daase.lisp (BROWSEOPEN): Use dbSourceFile. (GETDATABASE): Likewise. (LOCALNRLIB): Likewise. (WRITE-BROWSEDB): Likewise. * algebra/Makefile.in (COMPILE_SPAD): Specifiy initial DB. (BOOTSTRAP): Likewise. 2011-11-12 Gabriel Dos Reis * interp/br-data.boot (buildLibdbConEntry): Exit early if argument is a builtin constructor. (mkDependentsHashTable): Filter out builtin constructors. * interp/cattable.boot (genCategoryTable): Likewise. * interp/database.boot (getConstructorModemap): Load the contructor if necessary and try again before failing. * interp/define.boot (NRTgetLookupFunction): Handle multiple inheritance of domains. (getBaseExports): Rename from getExportCategory. Adjust caller. Handle multiple inheritance of domains. (extendsCategory): Do not reference $functorForm. Take it from the DB argument. (getTargetFromRhs): Do not optimize codegen. 2011-11-11 Gabriel Dos Reis * interp/define.boot (getTargetFromRhs): Do not try to record references to used entities. 2011-11-11 Gabriel Dos Reis * interp/define.boot (compDefineCapsuleFunction): Take first argument as a DB for the current constructor. Adjust callers. (compile): Likewise. (spadCompileOrSetq): Likewise. (compileConstructor): Likewise. (compileConstructor1): Likewise. 2011-11-11 Gabriel Dos Reis * interp/br-data.boot: Change NRTEVAL to %eval. * interp/c-util.boot: Likewise. * interp/define.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/showimp.boot: Likewise. 2011-11-11 Gabriel Dos Reis * interp/c-util.boot (dbByteList): New accessor macro. * interp/define.boot ($byteVec): Remove. (getInfovecCode): Do not bind it. (makeGoGetSlot): Take DB as first parameter. Adjust caller. Update dbByteList. (NRTmakeCategoryAlist): Adjust. 2011-11-10 Gabriel Dos Reis * interp/compiler.boot (applyMapping): Emit special call for domain producing mapping variables. (compWithMappingMode): Coerce constructors to function objets. (compFormWithModemap): Constructor calls are direct calls. Everything else is ordinary indirect call. * interp/g-opt.boot (optCall): Handle function objects. * interp/nruncomp.boot (NRTencode): Encode the elaboration of atomic forms, not the source level form. * testsuite/compiler/ctor-mapping.spad: New. 2011-11-10 Gabriel Dos Reis * algebra/boolean.spad.pamphlet (IndexedBits) [Not, Or, And]: Remove. Implement ~. \/, and /\ instead. * algebra/si.spad.pamphlet (SingleInteger): Likewise. * algebra/pattern.spad.pamphlet (Pattern): Adjust. * algebra/string.spad.pamphlet (CharacterClass): Likewise. 2011-11-09 Gabriel Dos Reis * interp/daase.lisp (dbLookupFunction): New accessor macro. * interp/c-util.boot (lookupDefiningFunction): Use it. Tidy. * interp/define.boot ($lookupFunction): Remove. (getInfovecCode): Use dbLookupFunction. (compDefineFunctor1): Set it. Do not emit %incomplete anymore. * interp/lisplib.boot (writeLookupFunction): New. (finalizeLisplib): Use it. 2011-11-09 Gabriel Dos Reis * interp/define.boot (compDefineFunctor1): Clear dbTemplate before compilation starts. * interp/lisplib.boot (writeLoadInfo): New. (writeTemplate): Likewise. (finalizeLisplib): Use it to write template. 2011-11-08 Gabriel Dos Reis * interp/define.boot (compFunctorBody): First argument is now a DB. Adjustt caller. (incompleteFunctorBody): Likewise. * interp/bc-matrix.boot: Use toString instead of STRINGIMAGE where appropriate. * interp/bc-solve.boot: Likewise. * interp/bc-util.boot: Likewise. * interp/br-con.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/c-util.boot: Likewise. * interp/clam.boot: Likewise. * interp/format.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-timer.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-resolv.boot: Likewise. * interp/i-special.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-util.boot: Likewise. * interp/msg.boot: Likewise. * interp/newfort.boot: Likewise. * interp/parse.boot: Likewise. * interp/pathname.boot: Likewise. * interp/setvars.boot: Likewise. * interp/showimp.boot: Likewise. * interp/slam.boot: Likewise. * interp/trace.boot: Likewise. 2011-11-07 Gabriel Dos Reis * interp/lisplib.boot (isDomainForm): Tidy. 2011-11-07 Gabriel Dos Reis * interp/lisplib.boot (getConstructorOpsAndAtts): Fold content in called. Remove. (getFunctorOpsAndAtts): Simplify. (getSlotFromFunctor): Rework. * interp/define.boot (getInfovecCode): Bind $byteVec and $byteAddress here. (compDefineFunctor1): Not here. 2011-11-06 Gabriel Dos Reis * interp/compiler.boot ($compileOnlyCertainItems): Remove. * interp/define.boot ($NRTslot1Info): Likewise. (getInfovecCode): Add additional environment argument. Adjust caller. Call NRTmakeSlot1Info here. (NRTgetLookupFunction): Lose second and third arguments. They are derivable from the DB argument. Adjust caller. (compDefineFunctor1): Do not bind $NRTslot1Info. (compDefineCapsuleFunction): Adjust. (compile): Likewise. * interp/i-syscmd.boot (compilerDoitWithScreenedLisplib): Remove. Adjust caller. * interp/nruncomp.boot (NRTmakeSlot1Info): Tak a DB argument. Adjust caller. (mkSlot1sublis): Remove. 2011-11-06 Gabriel Dos Reis * utils/vm.H: Redefine value representation. 2011-11-05 Gabriel Dos Reis * interp/c-doc.boot (checkBalance): Fix a latent logic bug. * algebra/Makefile.in: Tidy. 2011-11-05 Gabriel Dos Reis * algebra/Makefile.in: Rework bootstrap dependency. 2011-11-04 Gabriel Dos Reis * interp/functor.boot (compCategories): Take second parameter as environment. Adjust callers. (compCategories1): Likewise. (NewbFVectorCopy): Remove as deadcode. (worthlessCode): Tidy. (DescendCode): Take additional environment parameter. Adjust callers. * interp/define.boot (isMacro): Simplify. (wrapDomainSub): Remove. Adjust callers. * algebra/Makefile.in (strap-2/%.$(FASLEXT)): Fix typo. 2011-11-02 Gabriel Dos Reis * interp/lisplib.boot (findModule): Tidy. (loadLib): Exit early on builtin constructors. (loadDB): Likewise. 2011-11-02 Gabriel Dos Reis * interp/spad-parser.boot (parseSpadFile): Use $lineStack not BOOT-LINE-STACK. Use try/finally to ensure streams are closed. * interp/spad.lisp (New,ENTRY,2): Use parseNewExpr. * interp/util.lisp (string2SpadTree): Likewise. 2011-11-02 Gabriel Dos Reis * interp/c-util.boot (dbSubstituteAllQuantified): New. * interp/define.boot (NRTmakeCategoryAlist): Use it. (compDefineFunctor1): Likewise. 2011-11-02 Gabriel Dos Reis Add compiler support for implicit parameters. * interp/compiler.boot (bindPredicateExistentials): Rename from constructorCondition. Now return a substitution on success, otherwise failure. (solveEquation): New. (solveSubsumption): Likewise. (deduceImplicitParameters): Likewise. (evaluateConstructorModemap): Use it. Tidy. 2011-10-31 Gabriel Dos Reis Add interpreter support for implicit parameters. * interp/i-funsel.boot (evalMmCond0): Tidy. Call evalMmGuard to validate modemap evaluation. (evalMmGuard): New. (evalMmCat): Do not call orderMmCatStack here. The stack is already ordered by evalMmGuard, sole caller. (hasCate): Handle domain query variables. (unifyStruct): Call unifyQueryStruct for query variables. (unifyQueryStruct): New. * interp/g-util.boot (postComposeSubst): New. (queryVar?): Likewise. 2011-10-30 Gabriel Dos Reis * interp/compiler.boot (evaluateConstructorModemap): Rename from substituteInfoFunctorModemap. (constructorCondition): New. * interp/define.boot (compDefineCategory2): Compute dual signature early on. (compDefineFunctor1): Likewise. (typingKind): New. (deduceImplicitParameters): Use it. * interp/database.boot (modemapsFromCategory): Take a first argument as a DB. Tidy. Adjust caller. Add constructor condition. (modemapsFromFunctor): Likewise. Lose last argument. (mkDatabasePred): Remove. (formal2Pattern): Likewise. 2011-10-30 Gabriel Dos Reis * interp/sys-macros.lisp (MKPF1): Tidy. * interp/sys-constants.boot ($QueryVariables): New. * interp/define.boot ($whreDecls): Remove. (checkRepresentation): Take a DB as first parameter. Adjust Callers. (buildConstructorCondition): New (deduceImplicitParameters): Likewise (compDefineCategory2): Use it. (compDefineFunctor1): Likewise. (typeDependencyPath): Remove. (inferConstructorImplicitParameters): Likewise. * interp/compiler.boot (compTopLevel): Do not bind $whereDecls. (recordDeclarationInSideCondition): Take additional reference parameter to the list of processed decls. Adjust callers. (compWhere): Record any side decls in compilation environment. * interp/c-util.boot (makeCompilationData): Initialize implicit data. (dbParameters): New. (dbImplicitData): New accessor macro. (dbImplicitParameters): New. (dbImplicitConstraints): Likewise. (dbSubstituteFormals): Likewise. (dbSubstituteQueries): Likewise. * interp/database.boot (fixUpPredicate): Tidy. * boot/utility.boot (applySubst): Early exit on identity substitution. (applySubst!): Likewise. (applySubstNQ): Likewise. * boot/ast.boot (bfIS1): Accept pattern matching against Boolean constant true. 2011-10-29 Gabriel Dos Reis * interp/daase.lisp (dbCompilerData): New accessor macro. (dbBeingDefined?): Adjust. * interp/c-util.boot (makeCompilationData): New. (dbFormalSubst): New accessor macro. (dbSubstituteFormals): New. * interp/define.boot ($pairlis): Remove. (NRTmakeCategoryAlist): Use dbSubstituteFormals. (NRTgetLookupFunction): Likewise. (compDefineCategory2): Likewise. Set dbCompilerData and dbFormalSubst. (compDefineFunctor1): Likewise. * interp/functor.boot (ProcessCond): Use dbSubstituteFormals. * interp/lisplib.boot (NRTgenInitialAttributeAlist): Likewise. (makePredicateBitVector): Likewise. (finalizeLisplib): Do not set $pairlis. 2011-10-29 Gabriel Dos Reis * interp/nruncomp.boot (NRTaddDeltaCode): Take a DB parameter. Adjust callers. (NRTdescendCodeTran): Likewise. * interp/define.boot (makeDomainTemplate): Lose second argument. Adjust callers. (NRTgetLookupFunction): Take a DB as first argument. Adjust callers. (NRTextendsCategory1): Likewise. (extendsCategory): Likewise. (compDefineFunctor1): Do not find $template. Set dbTemplate. 2011-10-29 Gabriel Dos Reis * interp/define.boot ($atList, $sigList): Remove. (compSignature): Take a fourth parameter. (compCategoryItem): Take two more parameters. (compCategory): Create references to signature and attribute lists and pass them to callees. 2011-10-29 Gabriel Dos Reis * interp/lisplib.boot (makePredicateBitVector): Take a DB argument. Set dbPredicates. (compConLib1): Set dbPredicates to nil. (compDefineLisplib): Likewise. (finalizeLisplib): Write dbPredicates. * boot/tokens.boot (copyTree): Do not translate. * boot/utility.boot (topyTree): Implement. Export. 2011-10-29 Gabriel Dos Reis * interp/define.boot (getInfovecCode): Take a DB argument. Pass it to callees. Adjust caller. * interp/database.boot (getConstructorPredicates): If contructor is being defined, return the predicates as currently known. * interp/daase.lisp (INITIAL-GETDATABASE): Remove (fillDatabasesInCore): Adjust. 2011-10-29 Gabriel Dos Reis * interp/compiler.boot (compHasFormat): Simplify type form. 2011-10-28 Gabriel Dos Reis * interp/nruncomp.boot (mkDomainCatName): Remove. * interp/daase.lisp (DATABSE): Add new field TEMPLATE. (dbTemplate): New macro accessor. * interp/clam.boot (clearCategoryCaches): Clear dbTemplate. * interp/define.boot (DomainSubstitutionFunction): Generate code to access or set dbTemplate. 2011-10-28 Gabriel Dos Reis * interp/daase.lisp (DATABASE): Add new field CAPSULE-DEFINITIONS. (dbCapsuleDefinitions): New macro accessor. * interp/functor.boot (encodeFunctionName): Set it. * interp/lisplib.boot ($lisplibVariableAlist): Remove. ($lisplibSignatureAlist): Likewise. (writeCapsuleLevelDefinitions): New. (finalizeLisplib): Use it. (mergeSignatureAndLocalVarAlists): Remove. * interp/clam.boot (clearCategoryCaches): Use mkDomainCatName. * interp/define.boot (DomainSubstitutionFunction): Likewise. 2011-10-28 Gabriel Dos Reis * interp/database.boot (orderPredTran): Tidy. (interactiveModemapForm): Likewise. (getDCFromSystemModemap): Likewise. (getDomainFromMm): Likewise. (getAllModemapsFromDatabase): Likewise. (getModemapsFromDatabase): Likewise. (getSystemModemaps): Likewise. (getInCoreModemaps): Likewise. (flattenSignatureList): Likewise. 2011-10-28 Gabriel Dos Reis * interp/define.boot ($lisplibCategory): Remove. (compDefineCategory1): Adjust. (compDefineCategory2): Likewise. (compDefineCategory): Likewise. (compDefineFunctor1): Likewise. * interp/lisplib.boot (finalizeLisplib): Likewise. * interp/br-data.boot (getParentsFor): Lose last paramater. 2011-10-27 Gabriel Dos Reis * interp/sys-globals.boot ($lisplibModemapAlist): Remove. * interp/lisplib.boot (compileConstructorLib): Do not bind $lisplibModemapAlist. (compDefineLisplib): Likewise. * interp/database.boot (modemapsFromCategory): Rename from augLisplibModmapsFromCategory. Tidy. Avoid use of special variable $lisplibModemapAlist. (modemapsFromFunctor): Rename from augmentLisplibFromFunctor. Tidy. Avoid use of special variable $lisplibModemapAlist. * interp/define.boot (compDefineCategory2): Adjust. (compDefineFunctor1): Likewise. 2011-10-26 Gabriel Dos Reis * algebra/stream.spad.pamphlet (Stream): Tidy accessors. 2011-10-26 Gabriel Dos Reis Support use of any natural number literal as constant name. * interp/postpar.boot (postNormalizeName): Remove. (postLhsOfDefinition): New. (postDef): Use it. (postMDef): Likewise. (postForm): Remove dead code. (postSignature): Internalize names of exported operators. * interp/i-intern.boot (mkAtree2): For package call resolution, use internal names. * interp/compiler.boot (compAtomWithModemap): Use externalName for name reported in diagnostic. (compIntegerLiteral): New. (compAtom): Use it. (compElt): Look up modemaps for internal names. (getModemapList): Likewise. * interp/g-util.boot (normalizeName): New. (internalName): Likewise. (externalName): Likewise. 2011-10-25 Gabriel Dos Reis * interp/postpar.boot (postSignature): Tidy. * interp/parse.boot (transCategoryItem): Remove as dead code. * interp/lisplib.boot (finalizeLisplib): Remove use of removeZeroOne. * interp/cattable.boot (categoryParts): Tidy. 2011-10-25 Gabriel Dos Reis * lisp/core.lisp.in (AxiomCore) [CCL]: Import and export FFI-related symbols. 2011-10-25 Gabriel Dos Reis * interp/compiler.boot (getFormModemaps): Tidy checking of "elt" and "setelt" modemaps. 2011-10-25 Gabriel Dos Reis * algebra/modmon.spad.pamphlet (ModMonic): Rename second parameter from Rep to P. Addd capsule-level definition for Rep. [setPoly]: Adjust parameter type. [coerce]: Likewise. [UnVectorise]: Restrict reduction to %, then coerce to Rep. [monomial]: Add appropriate coercion to Rep. 2011-10-24 Gabriel Dos Reis * algebra/perman.spad.pamphlet (Permanent): Specify type of local variable j. * algebra/patmatch1.spad.pamphlet (PatternMatchTools): Tidy. * algebra/padic.spad.pamphlet: Restrict type of literal constants. * algebra/sttf.spad.pamphlet: Likewise. * algebra/puiseux.spad.pamphlet: Likewise. * algebra/odealg.spad.pamphlet (SystemODESolver) [applyLodo0]: Specify type of local variable ans. * algebra/numtheor.spad.pamphlet (IntegerNumberTheoryFunctions): Tidy. * algebra/naalgc.spad.pamphlet (MonadWithUnit) [rightPower]: Specify type of local variable res. [leftPower]: Likewise. * algebra/lodop.spad.pamphlet (NonCommutativeOperatorDivision) [leftLcm]: Specify type of local variable v. * algebra/intfact.spad.pamphlet (IntegerRoots) [approxSqrt]: Specify type of local variables old and new. * algebra/elfuts.spad.pamphlet (EllipticFunctionsUnivariateTaylorSeries): Restrict types of literal constants. * algebra/ffnb.spad.pamphlet (FiniteFieldNormalBasisExtensionByPolynomial): Likewise. * algebra/fnla.spad.pamphlet (FreeNilpotentLie): Likewise. * algebra/intaux.spad.pamphlet (IntegrationResult): Likewise. * algebra/defintef.spad.pamphlet (ElementaryFunctionDefiniteIntegration) [checkSMP]: Specify type in the definition of local variable n. * algebra/combinat.spad.pamphlet (IntegerCombinatoricFunctions): Tidy definition of local variables. * algebra/clifford.spad.pamphlet (CliffordAlgebra): Specify type in the definition of local variables k, exchanges, bz. * algebra/catdef.spad.pamphlet (CartesianTensor): Specify type in the definition of local varibles rx and offz. Remove useless variables zol, xol, oly, and zoly. 2011-10-24 Gabriel Dos Reis * interp/compiler.boot (compArgumentsAndTryAgain): Fail only if elaboration of all arguments fails. 2011-10-23 Gabriel Dos Reis * interp/compiler.boot (compOrCroak1): Drop last argument. Tidy. (mostSpecificTriple): New. (compAtomWithModemap): Use it to resolve ambiguous constants. (formatConstantCandidates): New. (compForm1): Do try to compile constants 0 and 1 with compToApply. * algebra/polycat.spad.pamphlet (FiniteAbelianMonoidRing) [binomThmExpt]: Tidy. (UnivariatePolynomialCategory) [pseudoDivide]: Likewise. * algebra/float.spad.pamphlet (Float) [log]: Specificy type for local variable `l'. * interp/format.boot (formatUnabbreviatedSig): Handle constants. 2011-10-23 Gabriel Dos Reis * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %fdecode. * interp/lisp-backend.boot: Expand it. * algebra/sf.spad.pamphlet (DoubleFloat): Remove %fmanexpr import. Use %fdecode to access Lisp-level double-float decoding. [mantissa]: Rewrite. [exponent]: Likewise. [negative?]: Likewise. [positive?]: Likewise. [manexp]: Likewise. * algebra/view2D.spad.pamphlet (TwoDimensionalViewport): Tidy. 2011-10-23 Gabriel Dos Reis * interp/compiler.boot (compForm2): Simplify. Don't bother with subsumption. Exit early on empty modemap candidate list. 2011-10-22 Gabriel Dos Reis * interp/compiler.boot (compAtomWithModemap): Handle code-gen here. 2011-10-22 Gabriel Dos Reis * interp/br-op2.boot (htSayExplicitExports): Don't forget possible constant marker in exported signatures. * interp/cattable.boot (simpHas): Likewise. * interp/format.boot (form2String1): Likewise. * interp/i-eval.boot (evaluateSignature): Likewise. * interp/i-funsel.boot (hasCaty): Likewise. (hasAttSig): Likewise. * interp/define.boot (extendsCategory): Likewise. (extendsCategoryBasic): Likewise. (catExtendsCat?): Likewise. (mkExportFromDescription): New. (mkCategoryPackage): Use it. * boot/tokens.boot: Add new selectors: mapOpsig, mapOperation, mapPredicate, and mapImpl. 2011-10-21 Gabriel Dos Reis * boot/tokens.boot: Add new selectors: mapOperation, mapSignature, mapTarget, mapSource, mapKind. * algebra/data.spad.pamphlet (SystemInteger) [min, max]: Disambiguate with explicit type annotation. (SystemNonNetativeInteger) [min, max]: Likewise. * algebra/color.spad.pamphlet (Color) [sample]: Remove parenthesis. * algebra/ffnb.spad.pamphlet (FiniteFieldNormalBasisExtensionByPolynomial) [sizeOfGroundField]: Likewise. * algebra/matrix.spad.pamphlet (SquareMatrix) [dimension]: Likewise. * algebra/view3D.spad.pamphlet: Likewise. * algebra/viewDef.spad.pamphlet: Likewise. * algebra/regset.spad.pamphlet (RegularTriangularSetCategory) [unitIdealIfCan]: Remove, was useless. * algebra/sregset.spad.pamphlet (SquareFreeRegularTriangularSet) [unitIdealIfCan]: Likewise. * algebra/triset.spad.pamphlet (GeneralTriangularSet) [unitIdealIfCan]: Likewise. 2011-10-21 Gabriel Dos Reis * algebra/boolean.spad.pamphlet (Boolean) [sample]: Remove definition, as it is not exported. 2011-10-21 Gabriel Dos Reis Workaround proclamation bug in GCL * boot/utility.boot (firstNonblankPosition): Do not declare. 2011-10-21 Gabriel Dos Reis * interp/define.boot (compDefineCapsuleFunction): Reimplement signature inference. (hasSigInTargetCategory): Implement what the documentation says: infer the signature from the target category, not local declaration. 2011-10-20 Gabriel Dos Reis * interp/define.boot (checkRepresentation): Prepare for general constant definition syntax. (compDefine1): Likewise. (compDefineCategory1): Likewise. (compDefineFunctor1): Likewise. (compDefineCapsuleFunction): Likewise. (doIt): Likewise. (isMacro): Tidy. 2011-10-20 Gabriel Dos Reis * interp/lisplib.boot (isDomainForm): Handle conditionals. 2011-10-19 Gabriel Dos Reis * interp/postpar.boot (postDef): Do not include list of nil forms as special cases. * interp/parse.boot (parseDEF): Tidy. * interp/define.boot (checkRepresentation): Likewise. (compDefine1): Likewise. (macroExpand): Likewise. (compDefineCategory1): Likewise. (compDefineCategory2): Likewise. (compDefineFunctor1): Likewise. (compDefWhereClause): Likewise. (compDefineCapsuleFunction): Likewise. (isMacro): Likewise. 2011-10-19 Gabriel Dos Reis * interp/postpar.boot (postNormalizeName): New. (postAtom): Use it. (postMDef): Do not generate artificial list of nils. Leave left-hand-side as written in source code. * interp/compiler.boot (compMacro): Tidy. * interp/define.boot (checkRepresentation): Likewise. * interp/parse.boot (parseMDEF): Likewise. * algebra/syntax.spad.pamphlet (MacroAst): Adjust. 2011-10-19 Gabriel Dos Reis * interp/property.lisp: Move output-related content to i-output.boo. Remove. 2011-10-18 Gabriel Dos Reis * interp/postpar.boot (displayPreCompilationErrors): Dot not check for interactive mode. (postBigFloat): Likewise. (postDef): Likewise. (postMDef): Likewise. (tuple2List): Likewise. (postReduce): Likewise. (postQUOTE): Remove. (postQuot): Likewise. (postOp): Likewise. (postTran): Adjust. * interp/newaux.lisp: Replace %LET with ':='. * interp/property.lisp: Likewise. * interp/g-util.boot (getTypeOfSyntax): Likewise. * interp/define.boot (checkRepresentation): Likewise. (doIt): Likewise. * interp/compiler.boot (compSetq): Likewise. (compRecoverGuard): Likewise. (compReduce1): Likewise. * interp/c-util.boot (lhsOfAssignment): Likewise. (isAlmostSimple): Likewise. * interp/c-doc.boot (recordAttributeDocumentation): Likewise. * interp/parse.boot (parseLeftArrow): Remove. (parseLETD): Likewise. (parseAssign): Rename from parseLET. * algebra/syntax.spad.pamphlet (SpadAst): Handle both cases. 2011-10-17 Gabriel Dos Reis * interp/spad-parser.boot (parseSegmentTail): Tidy. * interp/postpar.boot (postSEGMENT): Remove. (postTupleCollect): Likewise. (postBootNotEqual): Likewise. * interp/parsing.lisp (CHAR-EQ): Remove. (CHAR-NE): Likewise. (getToken): Likewise. * interp/newaux.lisp: Remove "^=" as legitimate operator. * interp/lexing.boot (geToken): Rename from getSpadToken. * interp/i-intern.boot (mkAtree3): Check for new form of universal segment. * interp/parse.boot (parseSegment): Likewise. * algebra/seg.spad.pamphlet (Segment): Use .. instead of SEGMENT. (SegmentFunctions2): Likewise. (UniversalSegment): Likewise. 2011-10-17 Gabriel Dos Reis * lisp/core.lisp.in: Add ref and deref to support references. * interp/sys-constants.boot ($OperatorFunctionNames): Add "by" and "..". * interp/spad.lisp: Tidy. * interp/spad-parser.boot: New parsers. * interp/preparse.lisp: Remove dead codes. * interp/parsing.lisp (MATCH-ADVANCE-KEYWORD): Remove. * interp/parse.boot (doParseCategory): Rename from parseCategory. * interp/newaux.lisp: Tidy. * interp/lexing.boot (getSpadToken): New. (Keywords): Remove 'when'. (matchKeywordNext): New. (matchSpecial): Likewise. (matchAdvanceSpecial): Likewise. (matchAdvanceGlyph): Likewise. * interp/fnewmeta.lisp: Move variable definitions to preparse.lisp. Remove Lisp based parsers. Remove file. * interp/c-doc.boot (recordAttributeDocumentation): Fix thinko. * interp/bootlex.lisp (GET-BOOT-TOKEN): Remove. * interp/Makefile.in: Adjust dependencies. * boot/parser.boot (bpChar): New. (bpPattern): Allow character constants. 2011-10-16 Gabriel Dos Reis * algebra/boolean.spad.pamphlet (Boolean): Implement default Boolean operators in terms of Logic operators. (PropositionalFormula): Implement Logic operators instead of Boolean operators. * algebra/exposed.lsp.pamphlet: Expose PropositionalFormulaFunctions1 and PropositionalFormulaFunctions2. 2011-10-12 Gabriel Dos Reis * interp/spad-parser.spad: New parsing functions. * interp/fnewmeta.lisp: Use them, (PARSE-Return): Remove. (PARSE-Throw): Likewise. (PARSE-Jump): Likewise. (PARSE-Exit): Likewise. (PARSE-Leave): Likewise. (PARSE-ElseClause): Likewise. (PARSE-Label): Likewise. 2011-10-12 Gabriel Dos Reis * algebra/boolean.spad.pamphlet (Reference) [elt]: Remove. [setelt]: Likewise. * algebra/lodof.spad.pamphlet: Adjust use. * algebra/float.spad.pamphlet: Likewise. * algebra/divisor.spad.pamphlet: Likewise. * algebra/curve.spad.pamphlet: Likewise. * algebra/card.spad.pamphlet: Likewise. * algebra/algext.spad.pamphlet: Likewise. * algebra/op.spad.pamphlet: Likewise. * algebra/suls.spad.pamphlet: Likewise. * algebra/sups.spad.pamphlet: Likewise. * algebra/supxs.spad.pamphlet: Likewise. * algebra/suts.spad.pamphlet: Likewise. * algebra/symbol.spad.pamphlet: Likewise. * algebra/view3D.spad.pamphlet: Likewise. * algebra/viewDef.spad.pamphlet: Likewise. 2011-10-11 Gabriel Dos Reis * interp/lexing.boot (matchAdvanceKeyword): New. * interp/spad-parser.boot: New parsing functions. * interp/fnewmeta.lisp: Use them. (PARSE-NewExpr): Remove. (PARSE-Command): Likewise. (PARSE-SpecialKeyWord): Likewise. (PARSE-TokenOption): Likewise. (PARSE-PrimaryOrQM): Likewise. (PARSE-InfixWith): Likewise. (PARSE-With): Likewise. (PARSE-Inline): Likewise. (PARSE-Quanifier): Likewise. (PARSE-QuantifiedVariable): Likewise. (PARSE-Infix): Likewise. (PARSE-Prefix): Likewise. (PARSE-Suffix): Likewise. (PARSE-TokTail): Likewise. (PARSE-Qualification): Likewise. (PARSE-Primary): Likewise. (PARSE-PrimaryNoFloat): Likewise. (PARSE-Quad): Likewise. 2011-10-11 Gabriel Dos Reis * interp/lexing.boot (matchAdvanceString): New. * interp/spad-parser.boot: New parsing functions. * interp/fnewmeta.lisp: Use them. (PARSE-VarForm): Remove. (PARSE-Scripts): Likewise. (PARSE-ScriptItem): Likewise. (PARSE-AnyId): Likewise. * interp/parsing.lisp (PARSE-OperatorFunctionName): Remove. (MATCH-ADVANCE-STRING): Likewise. 2011-10-10 Gabriel Dos Reis * interp/lexing.boot (matchString): New. * interp/fnewmeta.lisp: Use it. * interp/parsing.lisp: Likewise. (MATCH-STRING): Remove. 2011-10-10 Gabriel Dos Reis * interp/metalex.lisp (DEFUN-PARSE-TOKEN): Remove. Move remaining to parsing.lisp. * interp/fnewmeta.lisp (PARSE-IntegerTok): Remove. (PARSE-FloatTok): Likewise. (PARSE-FormalParameter): Likewise. (PARSE-FormalParameterTok): Likewise. (PARSE-String): Likewise. (PARSE-Name): Likewise. 2011-10-10 Gabriel Dos Reis * interp/postpar.boot: Remove functions and references to Scripts. 2011-10-08 Gabriel Dos Reis * interp/lexing.boot: New tokenizer functions. * interp/parsing.lisp: Use them. * interp/metalex.lisp: Likewise. (GET-SPECIAL-TOKEN): Remove. * interp/bootlex.lisp: Likewise. Remove old tokenizers, 2011-10-07 Gabriel Dos Reis * interp/lexing.boot: Include sys-macros. Add more tokenizer functions. * interp/fnewmeta.lisp: Use them. * interp/parsing.lisp: Likewise. * interp/bootlex.lisp: Likewise. * interp/spad.lisp: Likewise. (NEXT-BOOT-LINE): Remove. * interp/metalex.lisp: Remove old lexing routines. * interp/Makefile.in (lexing.$(FASLEXT)): Adjust dependency. * boot/tokens.boot: newString is no longer builtin library function. (shoeDictCons): Use makeString not newString. * lisp/core.lisp.in (listToString): Fix typo. 2011-10-05 Gabriel Dos Reis * lisp/core.lisp.in (eof?): New. (listToString): Likewise. (formatToString): Likewise. * boot/tokens.boot: Add fifth as builtin library function. 2011-10-04 Gabriel Dos Reis * interp/lexing.boot: Add support for Token abstract datatype. * interp/bootlex.lisp: Use it. * interp/fnewmeta.lisp: Likewise. * interp/metalex.lisp: Likewise. Remove old token structure and associated functions. 2011-10-04 Gabriel Dos Reis * interp/lexing.boot (stackClear!): Fix typo. Add new grammar reduction abstract datatype facility. * interp/fnewmeta.lisp: Use it. * interp/parsing.lisp: Likewise. * interp/bootlex.lisp (SPAD): Use popStack1. * interp/spad-parser.boot (parseSpadFile): Likewise. * interp/metalex.lisp: Remove REDUCTION and associated functions. 2011-10-04 Gabriel Dos Reis * interp/lexing.boot: New. * interp/metalex.lisp: Include it. Use new stack datatype support. * interp/parsing.lisp: Use new stack datatype support. * interp/Makefile.in: Adjust. 2011-10-03 Gabriel Dos Reis * boot/utility.boot (symbolAssoc): Rename from assocSymbol. Export. * interp/functor.boot: Remove getAbbreviation, mkAbbrev, addsuffix. * interp/sys-utility.boot (symbolAssoc): Remove as redundant. (scalarTarget): New. * interp/bc-matrix.boot: Use symbolTarget instead of symbolLassoc. * interp/br-con.boot: Use QLASSQ instead of symbolTarget. * interp/br-data.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-prof.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/br-search.boot: Likewise. * interp/buildom.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/c-util.boot: Likewise. * interp/cattable.boot: Likewise. * interp/clam.boot: Likewise. * interp/define.boot: Likewise. * interp/format.boot: Likewise. * interp/g-timer.boot: Likewise. * interp/g-util.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/i-intern.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-object.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/profile.boot: Likewise. * interp/trace.boot: Likewise. * interp/vmlisp.lisp (assoc): Tidy. 2011-10-03 Gabriel Dos Reis * interp/comp.lisp: Remove. * interp/setvart.boot: Remove setting of 'compiler' options. * interp/setvars.boot (setAsharpArgs): Remove. (describeAsharpArgs): Likewise. (setInputLibrary): Likewise. (setOutputLibrary): Likewise. (describeInputLibraryArgs): Likewise. (describeOutputLibraryArgs): Likewise. 2011-10-02 Gabriel Dos Reis * lisp/core.lisp.in: Do not use CCL in AxiomCore. * boot/translator.boot (packageBody): Tidy. * boot/scanner.boot (shoeOrdToNum): Remove. * boot/includer.boot (shoeBiteOff): Remove. (shoeFileName): Likewise. (shoeFnFileName): Likewise. 2011-10-01 Gabriel Dos Reis * boot/utility.boot (objectAssoc): New. Export. * boot/ast.boot: Use it. instead of ASSOC. * boot/translator.boot (packageBody): Tidy. * interp/astr.boot: Use objectAssoc instead of ASSQ. * interp/br-con.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/buildom.boot: Likewise. * interp/c-util.boot: Likewise. * interp/category.boot: Likewise. * interp/clam.boot: Likewise. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-util.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-object.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-resolv.boot: Likewise. * interp/i-special.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-util.boot: Likewise. * interp/int-top.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/msg.boot: Likewise. * interp/posit.boot: Likewise. * interp/termrw.boot: Likewise. * interp/trace.boot: Likewise. * interp/sys-utility.boot (upwardCut): New. * interp/spad.lisp: Use it. * interp/util.lisp: Likewise. * interp/spaderror.lisp: Likewise. * interp/vmlisp.lisp (ASSEMBLE): Remove. (ASSQ): Likewise. (MEMQ): Likewise. (NAMEDERRSET): Likewise. (ORADDTEMPDEFS): Likewise. * interp/macros.lisp (QLASSQ): Move to vmlisp.lisp. (LASSQ): Remove. 2011-10-01 Gabriel Dos Reis * boot/parser.boot (bpImport): Accept long names for used namespaces. * boot/translator.boot (packageBody): Tidy. (translateToplevel): Likewise. (getIntermediateLispFile): Likewise. * interp/sys-os.boot: Import System.Foreign. 2011-10-01 Gabriel Dos Reis * boot/utility.boot: Define BOOTTRAN namespace. (setUnion): New. (setDifference): New. * boot/translator.boot (packageBody): New. (translateToplevel): Use it. Translate namespace definition. * boot/tokens.boot: Replace bitmask with bitref. Do not translate setDifference and setUnion. * boot/parser.boot (bpDef): Now include namespace definition. (bpComma): Remove namespace rule as subsumed by Where rule. * boot/Makefile.in: Remove dependencies on initial-env.lisp. (AXIOM_LOCAL_LISP_sources): Remove as unused, (boot_sources): Remove as redundant with boot_SOURCES. * boot/initial-env.lisp: Remove. 2011-09-30 Gabriel Dos Reis * boot/utility.boot (firstNonblankPosition): New. (firstBlankPosition): Likewis. * boot/translator.boot (reallyPrettyPrint): New. (genOptimizeOptions): Use it. (evalBootFile): Tidy. (shoePPtoFile): Remove as deadcode. (shoeAddbootIfNec): Rewrite. (shoeAddStringIfNec): Remove. * boot/scanner.boot (shoeNextLine): Use firstNonblankPosition. (shoeEsc): Likewise. (shoePossFloat): Likewise. * boot/initial-env.lisp ($IEEE): Remove. (*LISP-BIN-FILETYPE*): Likewise. (*LISP-SOURCE-FILETYPE*): Likewise. (SHOEPRETTYPRINT1): Likewise, (REALLYPRETTYPRINT): Likewise. (SHOENOPRETTYPRINT): Likewise. (STRPOS): Likewise. (STRPOSL): Likewise. (shoeReadLisp): Likewise. 2011-09-30 Gabriel Dos Reis * interp/br-data.boot (lefts): Iterate directly over table. (mkUsersHashTable): Likewise. (mkDependentsHashTable): Likewise. (domainsOf): Likewise. * interp/br-op1.boot (dbShowOpAllDomains): Likewise. * interp/cattable.boot (showCategoryTable): Likewise. (displayCategoryTable): Likewise. (simpTempCategoryTable): Likewise. (simpCategoryTable): Likewise. (genTempCategoryTable): Likewise. (compressHashTable): Likewise. (updateCategoryTableForCategory): Likewise. (clearTempCategoryTable): Likewise. * interp/clam.boot (displayHashtable): Likewise. (reportHashCacheStats): Likewise. (reportInstantiations): Likewise. (globalHashtableStats): Likewise. * interp/guess.boot (buildWordTable): Likewise. * interp/i-syscmd.boot (writify): Likewise. * interp/scan.boot (scanDictCons): Likewise. (scanPunCons): Likewise. * interp/slam.boot (hashCount): Likewise. * interp/topics.boot (mkTopicHashTable): Likewise. (addTopic2Documentation): Likewise. (topics): Likewise. (listOfTopics): Likewise. * interp/word.boot (buildWordTable): Likewise. (writeFunctionTables): Likewise. (bootSearch): Likewise. 2011-09-30 Gabriel Dos Reis * boot/ast.boot (bfTableIteratorBindingForm): New. (bfExpandTableIters): Use it. * boot/initial-env.lisp (HKEYS): Remove. * boot/tokens.boot (shoeDictCons): Iterate directly over shoeKeyTable. (shoePunCons): Likewise. * boot/translator.boot (shoeReport): Iterate directly over $bootUsed. (shoeXReport): Likewise. 2011-09-29 Gabriel Dos Reis * boot/ast.boot (bfFor): Tidy. Handle hashtable iterator forms. (bfIterateTable): New. (separateIterators): Likewise. (bfExpandTableIters): Likewise. (bfLp1): Use them. 2011-09-20 Gabriel Dos Reis * algebra/annacat.spad.pamphlet: Remove. * algebra/routines.spad.pamphlet: Likewise. * algebra/functions.spad.pamphlet: Likewise. * algebra/tools.spad.pamphlet: Likewise. * algebra/cont.spad.pamphlet: Likewise. * algebra/fortran.spad.pamphlet: Likewise. * algebra/fortmac.spad.pamphlet: Likewise. * algebra/fortpak.spad.pamphlet: Likewise. 2011-09-19 Gabriel Dos Reis * algebra/asp.spad.pamphlet: Remove. * algebra/c02.spad.pamphlet: Likewise. * algebra/c05.spad.pamphlet: Likewise. * algebra/c06.spad.pamphlet: Likewise. * algebra/d01.spad.pamphlet: Likewise. * algebra/d02.spad.pamphlet: Likewise. * algebra/d03.spad.pamphlet: Likewise. * algebra/e01.spad.pamphlet: Likewise. * algebra/e02.spad.pamphlet: Likewise. * algebra/e04.spad.pamphlet: Likewise. * algebra/f01.spad.pamphlet: Likewise. * algebra/f02.spad.pamphlet: Likewise. * algebra/f04.spad.pamphlet: Likewise. * algebra/f07.spad.pamphlet: Likewise. * algebra/s.spad.pamphlet: Likewise. * algebra/d01Package.spad.pamphlet: Likewise. * algebra/d02Package.spad.pamphlet: Likewise. * algebra/d03Package.spad.pamphlet: Likewise. * algebra/e04Package.spad.pamphlet: Likewise. * algebra/d01agents.spad.pamphlet: Likewise. * algebra/d01routine.spad.pamphlet: Likewise. * algebra/d01transform.spad.pamphlet: Likewise. * algebra/d01weights.spad.pamphlet: Likewise. * algebra/d02agents.spad.pamphlet: Likewise. * algebra/d02routine.spad.pamphlet: Likewise. * algebra/d03agents.spad.pamphlet: Likewise. * algebra/d03routine.spad.pamphlet: Likewise. * algebra/e04agents.spad.pamphlet: Likewise. * algebra/e04routine.spad.pamphlet: Likewise. 2011-09-15 Gabriel Dos Reis * algebra/axtimer.as.pamphlet: Remove. * algebra/ffrac.as.pamphlet: Likewise. * algebra/herm.as.pamphlet: Likewise. * algebra/interval.as.pamphlet: Likewise. * algebra/invnode.as.pamphlet: Likewise. * algebra/invrender.as.pamphlet: Likewise. * algebra/invtypes.as.pamphlet: Likewise. * algebra/invutils.as.pamphlet: Likewise. * algebra/iviews.as.pamphlet: Likewise. * algebra/ndftip.as.pamphlet: Likewise. * algebra/nepip.as.pamphlet: Likewise. * algebra/noptip.as.pamphlet: Likewise. * algebra/nqip.as.pamphlet: Likewise. * algebra/nrc.as.pamphlet: Likewise. * algebra/nsfip.as.pamphlet: Likewise. 2011-09-15 Gabriel Dos Reis * algebra/alql.spad.pamphlet (IndexCard): Now satisfies CoercibleFrom String. Remove explicit coerce export. * algebra/carten.spad.pamphlet (CartesianTensor): Remove explicit coerce export. Add satisfaction of CoercibleFrom appropriate domains. * algebra/color.spad.pamphlet (Palette): Relace explicit coerce export with CoercibleTo %. * algebra/constant.spad.pamphlet (InnerAlgebraicNumber): Likewise. * algebra/dpolcat.spad.pamphlet (DifferentialVariableCategory): Likewise. 2011-09-13 Gabriel Dos Reis * utils/Makefile.in (libOpenAxiom_HEADERS): Include vm.H. (libOpenAxiom_SOURCES): Include vm.cc * utils/vm.cc: New. * utils/vm.H: Likwise. 2011-09-12 Gabriel Dos Reis * interp/g-opt.boot (optList): Tidy. 2011-09-11 Gabriel Dos Reis * interp/compiler.boot (finishLambdaExpression): Tidy. (extractCodeAndConstructTriple): Likewise. * interp/g-opt.boot (optCall): Likewise. ($VMsideEffectFreeOperators): Include %function * interp/lisp-backend.boot: Translate %function. 2011-09-11 Gabriel Dos Reis * interp/lisplib.boot (isFunctor): Noe recognize Mapping as a functor. * interp/g-opt.boot (doInlineCall): Tidy one more time. ($VMsideEffectFreeOperators): Move %aplly to $simpleVMoperators. (optLET): Remove as unused. * interp/lisp-backend.boot (expandApply): New. Register as expander for %apply forms. * interp/define.boot (getXmode): New. (displayMissingFunctions): Use it instead of getmode. (compDefineCapsuleFunction): Likewise. (addDomain): Likewise. (getSignature): Likewise. (compile): Likewise. (compJoin): Likewise. * interp/compiler.boot (comp3): Likewise. (compWithMappingMode): Likewise. (applyMapping): Generate %apply form. (compApplication): Likewise. (autoCoerceByModemap): Likewise. (extractCodeAndConstructTriple): Handle %apply forms. (setqSingle): For domain variables, put corresponding macro forms in the environment. * algebra/ore.spad.pamphlet (Automorphism): Define Rep as a constant. Adjust; include explicit uses of rep and per. 2011-09-10 Gabriel Dos Reis Remove IndexedList. * algebra/list.spad.pamphlet (IndexedList): Fold definition into List. Remove. * algebra/exposed.lsp.pamphlet: Don't expose ILIST. * algebra/Makefile.in: Adjust. 2011-09-10 Gabriel Dos Reis * interp/g-opt.boot (doInlineCall): Tidy. (canInlineVarDefinition): Likewise. 2011-09-10 Gabriel Dos Reis * interp/macros.lisp (COERCE-FAILURE-MSG): Remove. (check-subtype): Likewise. (check-union): Likewise. (MAKE-REASONABLE): Move to diagnostic.boot. Rename. (assert): Move to sys-macros.lisp. * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %retract and %pullback. (optRetract): Tidy. (optPullback): New. * interp/diagnostics.boot (makeReasonable): New. (moanRetract): Likewise. Use it. * interp/buildom.boot (mkNewUnionFunList): Simplify. (mkUnionFunList): Likewise. 2011-09-10 Gabriel Dos Reis * interp/g-opt.boot (doInlineCall): New. (optCall): Use it to implement inline functions. ($VMsideEffectFreeOperators): Include %apply and STRINGIMAGE. ($simpleVMoperators): STRINGIMAGE is promoted. (canInlineVarDefinition): Tidy. (optBind): Likewise. 2011-09-09 Gabriel Dos Reis * interp/g-opt.boot (optXLAMCond): Remove as useless. (optCONDtail): Likewise. 2011-09-09 Gabriel Dos Reis * interp/g-opt.boot (optIadd): Remork. (optIsub): Likewise. (optIdec): New. * algebra/string.spad.pamphlet (IndexedString): Fold definition into String. Remove. (Character): Tidy. (CharacterClass): Likewise. * algebra/exposed.lsp.pamphlet: Do not expose ISTRING. 2011-09-09 Gabriel Dos Reis * algebra/syntax.spad.pamphlet (Identifier): Remove CoercibleTo Symbol and CoercibleTo String properties. * algebra/symbol.spad.pamphlet (Symbol): Make RetractableTo Identifier. 2011-09-08 Gabriel Dos Reis * algebra/op.spad.pamphlet (BasicOperator): Use string$String instead of coercion from Identifier to String. 2011-09-08 Gabriel Dos Reis * algebra/string.spad.pamphlet (String) [string]: New overload to convert from Identifier. 2011-09-08 Gabriel Dos Reis * interp/c-util.boot (builtinCategoryName?): Move to g-util.boot. (builtinFunctorName?): Likewise. (builtinConstructor?): Likewise. (superType): Exit early if builtin functor or non-domain form. * algebra/Makefile.in: Flesh out bootstrap dependencies. 2011-09-07 Gabriel Dos Reis * interp/sys-globals.boot ($clamList): Do not include hasFileProperty. * interp/database.boot (loadDBIfnecessary): Tidy. * interp/clammed.boot (hasFileProperty): Remove as unused. * interp/lisplib.boot (putFileProperty): Likewise. (getLisplib): Likewise. (getLisplibNoCache): Likewise. (getFileProperty): Likewise. (hasfilePropertyNoCache): Likewise. (unInstantiate): Likewise. (killNestedInstantiations): Likewise. (isNestedInstantiations): Likewise. (loadFunctor): Likewise. (getLisplibVersion): Likewise. (Operators): Likewise. (compDefineLisplib): Don't LOCALDATABASE if building system algebra. 2011-09-07 Gabriel Dos Reis * interp/lisplib.boot (finalizeLisplib): Finalize documentaion only if not bootstrapping. (isFunctor): Tidy. * interp/g-util.boot (superType): Tidy. * interp/database.boot (getDualSignature): Rename from getDualSignatureFromDB. Adjust callers. * interp/c-util.boot (isKnownCategory): Remove. (diagnoseUnknownType): Use isCategoryForm. * interp/bootlex.lisp (GET-INTEGER-IN-RADIX): Use SPAD_SYNTAX_ERROR. * interp/metalex.lisp (GET-STRING-TOKEN): Likewise. * interp/parsing.lisp (MUST): Likewise. * algebra/boolean.spad.pamphlet (Refrence) [coerce]: Bypass conversion to Identifier. * algebra/domain.spad.pamphlet (ContructorKind): Tidy. 2011-09-07 Gabriel Dos Reis * interp/nruncomp.boot (NRTaddInner): Use the dual signature. * interp/lisplib.boot (writeDualSignature): New. (finalizeLisplib): Likewise. * interp/define.boot (compDefineCategory2): Compute dual signature. (compDefineFunctor1): Likewise. * interp/daase.lisp (LOCALNRLIB): Juts read dual signature info; don't compute it. 2011-09-07 Gabriel Dos Reis * interp/define.boot (compDefineFunctor1): Augment the envionment with current instantiation. * interp/c-util.boot (isSubset): Accept values of current instantiation as values of the current domain. 2011-09-07 Gabriel Dos Reis * interp/compiler.boot (compImport): Don't do anything if bootstrapping: there is no much to import for now. * interp/define.boot (getOperationAlist): Get the isFunctor property directly. (addDomain): Call isDomainForm. 2011-09-06 Gabriel Dos Reis * interp/lisplib.boot (isFunctor): Tidy. 2011-09-06 Gabriel Dos Reis * interp/define.boot (compDefineFunctor1): Set dbConstructorModemap before compiling functor body. 2011-09-05 Gabriel Dos Reis * interp/define.boot: Use DB for current constructor. (mkCategoryPackage): Category defaults are packages, not domains. * interp/functor.boot (encodeFunctionName): Use current constructor DB. First argument is now a DB. Adjust caller. * algebra/domain.spad.pamphlet (DomainConstructo) [functorData]: Use getInfovec. 2011-09-05 Gabriel Dos Reis Stop using LOADED symbol property of constructors. * interp/daase.lisp (DATABASE) [LOAD-PATH]: New field. (dbLoadPath): New accessor. (INITIAL-GETDATABASE): Tidy. * interp/database.boot: Use dbLoadPath and dbLoaded?. * interp/lisplib.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/showimp.boot: Likewise. * interp/br-util.boot (isLoaded?): Remove as unused. 2011-09-05 Gabriel Dos Reis * interp/define.boot: Remove $LISPLIB. * interp/functor.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/patches.lisp: Likewise. * interp/sys-globals.boot: Likewise. 2011-09-05 Gabriel Dos Reis * interp/define.boot (compDefineFunctor1): Do not set $lisplibFunctions. * interp/lisplib.boot: Remove $lisplibOpAlist. * interp/nruncomp.boot: Likewise. 2011-09-05 Gabriel Dos Reis * interp/nruncomp.boot (updateSlot1DataBase)e: Remove. (newLookupInCategories1): Remove. (newLookupInCategories): Do not call it. * interp/define.boot ($isOpPackageName): Remove. (compDefinFunctor1): Do not emit slot1 database info for category defaulta. ($lisplibSlot1): Remove. * interp/lisplib.boot: Likewise. (finalizeLisplib): Do not write slot1 info. 2011-09-04 Gabriel Dos Reis * interp/lisplib.boot (writeCategory): New, (finalizeLisplib): Use it. Write category bodies in generated Lisp code file. * interp/daase.lisp (GETDATABASE) [CONSTRUCTORCATEGORY]: Don't bother with package and domain constructors. * interp/database.boot (getConstructorCategory): Rename from getConstructorCategoryFromDB. Reimplement, Adjusr callers. 2011-09-04 Gabriel Dos Reis * interp/daase.lisp (GETDATABASE): Do not handle PREDICATES and ATTRIBUTES selectors anymore. * interp/database.boot (getConstructorPredicates): Rename from getConstructorPredicatesFromDB. Adjust callers. (getConstructorAttributes): Rename from getConstructorAttributesFromDB. Adjust callers. 2011-09-04 Gabriel Dos Reis * interp/lisplib.boot (writeAbbreviation): New. (writePredicates): Likewise. (finalizeLisplib): Use them. * interp/daase.lisp (squeezeCopy): New, Use it in place of SQUEEZE. 2011-09-04 Gabriel Dos Reis * interp/lisplib.boot: Likewise. * interp/define.boot: Remove $lisplibAncestors. 2011-09-04 Gabriel Dos Reis * interp/br-data.boot: Don't use $lisplibParents. * interp/define.boot: Likewise. * interp/lisplib.boot: Likewise. 2011-09-03 Igor Pashev Gabriel Dos Reis * lib/pixmap.c: Include standard header. * include/xpm.h: Remove. 2011-09-03 Gabriel Dos Reis * interp/property.lisp: Remove unused codes. * interp/g-util.boot (superType): If domain is $ then use current information. * interp/daase.lisp: Tidy. * interp/c-util.boot (extendsCategoryForm): Temporarily disable uses of information not coming from on-the-fly category compilation. * interp/br-data.boot (getParentsFor): Change first parameter to a DB. Adjust callers. * algebra/Makefile.in: Adjust dependencies. 2011-08-30 Gabriel Dos Reis * algebra/Makefile.in: Simplify bootstrap rules. Build initdb.daase before bootstrap. 2011-08-29 Gabriel Dos Reis * interp/lisplib.boot (laodIfNecessaryAndExists): Remove as unused. (loadLibIfnecessary): Fold definition into loadIfNecessary. (loadDB): New. (writeAttributes): Likewise. (finalizeLisplib): Use it. * interp/daase.lisp (MAKE-DATABASES): Fix SQUEEZE snafu. * interp/c-util.boot (extendsCategoryForm): Prefer existing translation of category definition to re-evaluation on the fly. 2011-08-29 Gabriel Dos Reis * interp/lisplib.boot (loadLib): Remove deadcode. (isDomainForm): Tidy. (isFunctor): Likewise. (compDefineExports): Remove as no longer used. * interp/sys-utility.boot (loadExports): Likewise. * interp/g-util.boot (get0, get1, get2): Tidy. 2011-08-29 Gabriel Dos Reis * interp/lisplib.boot (writePrincipals): New. (finalizeLisplib): Use it. 2011-08-28 Gabriel Dos Reis * interp/define.boot (compDefineCategory2): Mark begining and end of definition processing. (compDefineFunctor1): Likewise. * interp/daase.lisp (dbPrincipals): New accessor. * interp/br-data.boot (getDefaultPackageClients): Fix thinko. * interp/lisplib.boot (writeAncestors): New. (finalizeLisplib): Use it 2011-08-27 Gabriel Dos Reis * interp/lisplib.boot (writeInstanceCache): Remove. (finalizeLisplib): Don't call it. 2011-08-27 Gabriel Dos Reis * interp/daase.lisp (DATABASE): Add new field BEING-DEFINED. (dbBeingMacro?): New accessor. (GETDATABASE): Tidy. 2011-08-25 Gabriel Dos Reis Remove $lisplibAttributes. * interp/define.boot (compDefineFunctor1): Tidy. (compCapsuleInner): Add a DB first parameter. Adjust callers. * interp/lisplib.boot (NRTgenInitialAttributeAlist): Likewise. (simplifyAttributeAlist): Likewise. * interp/nruncomp.boot (changeDirectoryInSlot1): Likewise. (buildFunctor): Change first parameter to DB. Adjust caller. 2011-08-25 Gabriel Dos Reis * interp/lisplib.boot (autoLoad): Lose first parameter. Adjust callers. (unloadOneConstructor): Likewise. * interp/category.boot (isCategoryForm): Rewrite. * interp/patches.lisp (mkAutoLoad): Move to lisplib.boot. 2011-08-25 Gabriel Dos Reis * interp/compiler.boot (compHasFormat): Take environment argument. Adjust callers. * interp/define.boot (NRTmakeCategoryAlist): Likewise. * interp/functor.boot (ProcessCond): Likewise. * interp/lisplib.boot (NRTgenFinalAttributeAlist): Likewise. (predicateBitIndex): Likewise. (predicateBitRef): Likewise. (makePredicateBitVector): Likewise. (transHasCode): Likewise. 2011-08-25 Gabriel Dos Reis * interp/hashcode.boot: Remove. *interp/interop.boot: Move OpenAxiom relevant code to define.boot and nrunfast.boot. Remove. 2011-08-25 Gabriel Dos Reis * interp/define.boot ($mutableDomain): Remove. Adjust users. ($mutableDomains): Likewise. * interp/database.boot (dbMutable?): Remove. * interp/clam.boot (addToclam): Remove as unused. * algebra/modmon.spad.pamphlet: Do not make MoMonic mutable. * algebra/defaults.spad.pamphlet: Do not make RepeatedSquaring and RepeatedDoubling, FiniteLinearAggregateSort mutable. 2011-08-24 Gabriel Dos Reis * interp/daase.lisp (dbArity, dbInstanceCache): New accessors. * interp/database.boot (loadDBIfnecessary): New. (dbMutable?): Likewise. * interp/lisplib.boot (finalizeLisplib): Record mutable property. 2011-08-23 Gabriel Dos Reis * algebra/Makefile.in: Support construction initial DB profile. * interp/database.boot (printInitdbInfo): New. (printAllInitdbInfo): Likewise. * interp/sys-driver.boot (initializeDatabases): Exit early if constructing initial DB profile. (buildInitdbHandler): New. Handle --build-initdb. * utils/command.cc (driver_table): Add map for --build-initdb. 2011-08-23 Gabriel Dos Reis * interp/sys-driver.boot (initializeDatabases): New. (initializeGlobalState): Use it. * interp/spad-parser.boot (parseSpadFile): Tidy. * interp/g-cndata.boot (installConstructor): Exit early it global table not initialized. * interp/database.boot (makeInitialDB): New. (populateDBFromFile): Likewise. * interp/daase.lisp: Introduce more DB accessors. * interp/br-util.boot (dbSourceFile): Remove. * interp/br-con.boot (kdPageInfo): Use getConstructorSourceFileFromDB instead of dbSourceFile. (kPage): Likewise. * algebra/Makefile.in (SPADFILES): Include domain.spad 2011-08-22 Gabriel Dos Reis * interp/sys-driver.boot (initializeGlobalState): Construct database tables if algebra is not complete yet. * interp/Makefile.in (${SAVESYS}): Simplify. * algebra/Makefile.in (strap-stamp): Make the destination directory. 2011-08-22 Gabriel Dos Reis * interp/metalex.lisp (LINE-HANDLER, NEXT-LINE, XCAPE): Remove. (XTOKENREADER, GET-TOKEN, NEXT-META-LINE): Likewise. (META_ERROR_HANDLER, META-SYNTAX-ERROR, META-META-ERROR-HANLER): Likewise. * interp/debug.lisp: Do not set /XCAPE property. * interp/bootlex.lisp (INIT-BOOT/SPAD-READER): Do not set XTOKENRADER, LINE-HANDLER, META_ERROR_HANDLER. 2011-08-22 Gabriel Dos Reis * interp/daase.lisp: Remove NILADIC field from DATABASE structure. (dbNiladic?): Remove. Adjust users. (WRITE-INTERP): Don't write NILADIC field. 2011-08-22 Gabriel Dos Reis * interp/define.boot (substNames): Lose second parameter. Adjust callsers. (evalAndSub): Likewise. (augModmapsFromCategory): Likewise. (genDomainView): Likewise. (augModemapsFromCategoryRep): Remove as deadcode. (genDomainOps): Lose first parameter. Adjust callers. 2011-08-21 Gabriel Dos Reis * interp/database.boot (getConstructorModemap): Rename from getConstructorModemapFromDB. Adjust callers. 2011-08-21 Gabriel Dos Reis * interp/database.boot (niladicConstructor?): Rename from niladicConstructorFromDB. Use getConstructorFormFromDB. Adjust callers. 2011-08-21 Gabriel Dos Reis * interp/define.boot ($lisplibAbbreviation): Remove. Adjust users. ($lisplibForm): Likewise. * interp/c-doc.boot (finalizeDocumentation): Take constructor's name as parameter. Adjust callers. * interp/lisplib.boot (compileDocumentation): Likewise. (WriteKind): New. (writeConstructorForm): Likewise. (writeOperations): Likewise. (WriteConstructorModemap): Likewise. (finalizeLisplib): Use them. 2011-08-21 Gabriel Dos Reis * interp/lisplib.boot (leaveIfErrors): Take kind as argument. (writeInfo): New. (writeSuperDomain): Likewise. (finalizeLisplib): Use it. Take constructor as argument. * interp/define.boot ($lisplibSuperDomain): Remove. Adjust users. ($lisplibKind): Remove Adjust users. (emitSubdomainInfo): Set dbSuperDomain. (incompleteFunctorBody): Likewise. * interp/daase.lisp: Add new database accessors. (GETDATABASE): Fix handling of superDomain property. * interp/br-util.boot (dbConstructorKind): Remove. * interp/br-con.boot: Remove deadcode. (dbShowCons1): Adjust. * interp/br-saturn.boot (dbShowConsKinds): Likewise. 2011-08-21 Gabriel Dos Reis * interp/sys-globals.boot ($compileExportOnly): Remove. * interp/sys-driver.boot (initializeGlobalState): Don't set it. * interp/define.boot (skipCategoryPackage?): Adjust. (compDefineFunctor): Likewise. (compDefineFunctor1): Likewise. (incompleteFunctorBody): New. (compFunctorBody): Use it. 2011-08-20 Gabriel Dos Reis * interp/sys-utility.boot (constructorDB): New. * interp/daase.lisp (dbNiladic?): New. Use it to access niladic property. of a constructor. * interp/database.boot: Import daase. (niladicContructorFromDB): Use it. * interp/define.boot (compDefineCategory): Don't write compilerInfo garbage. (compDefineFunctor1): Likewise. (compDefineCategory2): Set niladic property. (compDefineFunctor): Likewise. * interp/lisplib.boot (loadLib): Do not set niladic property. It is now a side-effect of loading. (loadLibNoUpdate): Do not check for version. (makeConstructorAutoload): Do not set niladic property. (initializeLisplib): Do not emit code to check version. (mkCtorDBForm): New. (writeNiladic?): Likewise. (finalizeLisplib): Do not set niladic property. * interp/patches.lisp: Remove deadcode. * interp/sys-constants.boot (MAJOR-VERSION): Remove. 2011-08-20 Gabriel Dos Reis * algebra/polycat.spad.pamphlet (UnivariatePolynomialCategory) [divide]: Tidy. * algebra/Makefile.in (strap-0/%.$(FASLEXT)): Copy generated Lisp files if keeping intermediate files. 2011-08-19 Gabriel Dos Reis * interp/category.boot (mkOr): Taken environment as parameter. Adjust callers. (mkOr2): Likewise. (mkAnd): Likewise. (mkAnd2): Likewise. (FindFundAncs): Likewise. (CatEval): Likewise. (AncestorP): Likewise. (CondAncestorP): Likewise. (DescendantP): Likewise. * interp/compiler.boot (compMapCond): Likewise. (compMapCond'): Likewise. * interp/define.boot (formatPred): Likewise. (formatInfo): Likewise. (addInfo): Likewise. (knownPred): Likewise. * interp/functor.boot (InvestigateConditions): Likewise. (ICformat): Likewise. 2011-08-18 Alfredo Portes * sman/sman.c: Do not try to start graphic components if binaries are not present. * include/cfuns.h: Make writeablep and readablep arguments const. * lib/cfuns-c.c: Likewise. 2011-08-18 Gabriel Dos Reis * interp/momdemap.boot: Fold content into compiler.boot and define.boot. Remove. * Makefile.in: Adjust dependencies. 2011-08-18 Gabriel Dos Reis * interp/c-util.boot: Use category accessors. * interp/category.boot: Likewise. * interp/modemap.boot: Likewise. 2011-08-18 Gabriel Dos Reis * interp/c-util.boot (categoryAssociatedTypes): Rename from categoryHierarchy. Adjust callers. (categoryPrincipals): New. (categoryAncestors): Likewise. (categoryLocals): Likewise. (categoryParameters): Likewise. (extendsCategoryForm): Use them. * interp/category.boot: Likewise. * interp/cattable.boot: Likewise. * interp/define.boot: Likewise. * interp/functor.boot: Likewise. * interp/modemap.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/database.boot (getCategoryAttributes): Remove. (getPrincipalAncestors): Likewise. (getCategoryParents): Likewise. * algebra/domain.spad.pamphlet (Category): Adjust. 2011-08-16 Gabriel Dos Reis * interp/c-util.boot (categoryPrincipals): New. (categoryAncestors): Likewise. * interp/functor.boot (DescendCodeAdd): Tidy. (DescendCodeVarAdd): Fix thinko. Iterator over $domainShell. Don't pretend constants have ELT implementations. * interp/nruncomp.boot (buildFunctor): Tidy. 2011-08-16 Gabriel Dos Reis * interp/modemap.boot (addModemap0): Don't special-case CategoryDefaults. * interp/define.boot (processFunctor): Fold into caller. Remove. * interp/clam.boot (recordInstantiation1): Do not special case CategoryDefaults and RepeatedSquaring. * interp/functor.boot (DescendCode): Lose last argument, for it is always $. Adjust body. Adjust caller. * interp/nruncomp.boot (buildFunctor): $catNames should not be a fluid variable. Rename to viewNames. 2011-08-15 Gabriel Dos Reis * interp/functor.boot (setVector0, setVector12, setVector3, mkDomainFomer, setVector5, mkVectorWithDeferral): Remove as dead codes. 2011-08-14 Gabriel Dos Reis * interp/g-opt.boot (optCollectVector): Generate VM forms. (optIinc): New. Register as new transformer. * interp/c-util.boot ($middleEndMacroList): Remove. (middleEndExpand): Don't check for Lisp-level macros anymore. 2011-08-14 Gabriel Dos Reis * interp/compiler.boot (compSeq1): Tidy. (cpmpSeqItem): Likewise. (replaceExitEtc): Likewise. (massageLoop): Don't check for TAGGEDexit anymore. 2011-08-14 Gabriel Dos Reis * interp/lisp-backend.boot ($freeVarName): New global constant. (loopVarInit): New. (expandIN): Use it. (expandON): Likewise. (expandSTEP): Likewise. (massageFreeVarInits): New. (expandLoop): Use it. * interp/fnewmeta.lisp (PARSE-QuantifiedVariable): Tidy. (PARSE-AnyId): Likewise. (PARSE-Variable): New. Allow scope-of-type specification for loop variable. (PARSE-Iterator): Use it. * interp/compiler.boot (massage_llop): Don't check $mayHaveFreeIteratorVariables. (compRepeatOrCollect): Don't bind it. (classifyIteratorVariable): New. (complainIfShadowing): Remove as no longer needed. (compStepIterator): Use it. Tidy. (compONIterator, compINIterator): New. Split out of compIterator. (compIterator): Refactor. * interp/functor.boot (optFunctorBody): Fix thinko. * interp/g-opt.boot (optCollectVector): A STEP iterator may have a storage class. * algebra/clip.spad.pamphlet: Fix loop variable scope. * algebra/ffpoly.spad.pamphlet: Likewise. * algebra/fparfrac.spad.pamphlet: Likewise. * algebra/gdpoly.spad.pamphlet: Likewise. * algebra/ghensel.spad.pamphlet: Likewise. * algebra/groebsol.spad.pamphlet: Likewise. * algebra/intfact.spad.pamphlet: Likewise. * algebra/matfuns.spad.pamphlet: Likewise. * algebra/moddfact.spad.pamphlet: Likewise. * algebra/numtheor.spad.pamphlet: Likewise. * algebra/permgrps.spad.pamphlet: Likewise. * algebra/pfbr.spad.pamphlet: Likewise. * algebra/pgcd.spad.pamphlet: Likewise. * algebra/pleqn.spad.pamphlet: Likewise. * algebra/pseudolin.spad.pamphlet: Likewise. * algebra/radeigen.spad.pamphlet: Likewise. * algebra/radix.spad.pamphlet: Likewise. * algebra/regset.spad.pamphlet: Likewise. * algebra/rep2.spad.pamphlet: Likewise. * algebra/sgcf.spad.pamphlet: Likewise. * algebra/smith.spad.pamphlet: Likewise. * algebra/sregset.spad.pamphlet: Likewise. * algebra/syssolp.spad.pamphlet: Likewise. * algebra/zerodim.spad.pamphlet: Likewise. * algebra/crfp.spad.pamphlet: Remove capsule-level declaration of local variables. * algebra/galfact.spad.pamphlet: Likewise. * algebra/mathml.spad.pamphlet: Likewise. * algebra/numode.spad.pamphlet: Likewise. * algebra/tex.spad.pamphlet: Likewise. * algebra/updecomp.spad.pamphlet: Likewise. 2011-08-13 Gabriel Dos Reis * interp/compiler.boot (compRepeatOrCollect): Set $loopKind directly. (complainIfShadowing): Don't complain when collecting. * algebra/contfrac.spad.pamphlet: Remove capsule-level declaration of local variables. * algebra/cycles.spad.pamphlet: Likewise. * algebra/cyclotom.spad.pamphlet: Likewise. * algebra/ddfact.spad.pamphlet: Likewise. * algebra/fortpak.spad.pamphlet: Likewise. * algebra/lingrob.spad.pamphlet: Likewise. * algebra/numode.spad.pamphlet: Likewise. * algebra/numquad.spad.pamphlet: Likewise. * algebra/out.spad.pamphlet: Likewise. * algebra/perman.spad.pamphlet: Likewise. * algebra/view2D.spad.pamphlet: Likewise. 2011-08-13 Gabriel Dos Reis * algebra/integer.spad.pamphlet (Integer): Remove attribute infinite. 2011-08-13 Gabriel Dos Reis * interp/c-util.boot (instantiationArgs): New. (domainDirectory): Likewise. (domainLookupFunction): Likewise. (domainOperatorTable): Likewise. (domainAttributes): Likewise. (domainPredicates): Likewise. (domainData): Likewise. * interp/buildom.boot: Use new domain accessors. * interp/functor.boot: Likewise. * interp/interop.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunfast.boot: Likewise. 2011-08-12 Gabriel Dos Reis * boot/ast.boot (shoeCompTran1): Translate extended vector-forms. * interp/c-util.boot: Use vector instead of LIST2VEC. * interp/define.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-special.boot: Likewise. * interp/interop.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/slam.boot: Likewise. 2011-08-12 Gabriel Dos Reis * interp/nrunfast.boot (newLookupInTable): Compare domain and dollar as objects, not as value. (newLookupInCategories): Remove deadcode. (newExpandGoGetTypes): Remove as unused. 2011-08-11 Gabriel Dos Reis * interp/define.boot (NRTgetLookupFunction): Handle the case where the base domain is a parameter. * interp/g-util.boot (formalVarNumber): New. * lisp/core.lisp.in (readIntegerIfCan): Likewise. 2011-08-11 Gabriel Dos Reis * interp/define.boot (extendsCategoryBasic): Handle attribute third argument too. 2011-08-10 Gabriel Dos Reis * interp/lisp-backend.boot (expandBytevec2str): Use MAP instead of COERCE. Eliminate second argument. (expandStr2bytevec): Use MAP instead of COERCE. * algebra/data.spad.pamphlet (ByteBuffer) [coerce]: Adjust call to %bytevec2str. 2011-08-10 Gabriel Dos Reis * algebra/float.spad.pamphlet (Float): Tidy. * algebra/fortmac.spad.pamphlet (MachineInteger): Likewise. * algebra/fspace.spad.pamphlet (FunctionSpace): Likewise. * algebra/integer.spad.pamphlet (Integer): Likewise. * algebra/mkfunc.spad.pamphlet (InputForm): Likewise. * algebra/newpoly.spad.pamphlet (RecursivePolynomialCategory): Likewise. * input/knot.input.pamphlet: Likewise. * input/knot2.input.pamphlet: Likewise. * input/mult3d.input.pamphlet: Likewise. * input/multKnot.input.pamphlet: Likewise. * input/r21bugsbig.input.pamphlet: Likewise. * input/tutchap2.input.pamphlet: Likewise. 2011-08-10 Gabriel Dos Reis * algebra/Makefile.in (oa_strap_0_sources): Don't include OM. (axiom_algebra_layer_0): Don't include OM, OMCONN, OMDEV. (axiom_algebra_layer_4): Don't include OMENC. (axiom_algebra_layer_14): Don't include OMPKG. (axiom_algebra_layer_19): Don't include OMERR, OMERRK. (axiom_algebra_layer_20): Don't include OMEXPR. * algebra/omcat.spad.pamphlet: Remove. * algebra/omdev.spad.pamphlet: Remove. * algebra/omerror.spad.pamphlet: Remove. * algebra/omserver.spad.pamphlet: Remove. * algebra/openmath.spad.pamphlet: Remove. 2011-08-09 Gabriel Dos Reis * interp/setvart.boot: Remoe OpenMath description. * interp/setvars.boot (setOutputOpenMath): Remove. (describeOutputOpenMath): Likewise. * algebra/Makefile.in (axiom_algebra_layer_14): Don't include OMSERVER. * algebra/float.spad.pamphlet (Float): Remove OpenMath exports. * algebra/fraction.spad.pamphlet (Fraction): Likewise. * 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. 2011-08-08 Gabriel Dos Reis * interp/define.boot (NRTgetLookupFunction): Take an environment argument. Adjust caller. (NRTextendsCategory1): Likewise. (extendsCategory): Likewise. (extendsCategoryBasic): Likewise. (catExtendsCat?): Likewise. 2011-08-08 Gabriel Dos Reis * interp/c-util.boot (categoryHierarchy): New. * interp/category.boot (mkCategory): Use it. * interp/define.boot (NRTgetLookupFunction): Tidy. (catExtendsCat?): Lose last argument. Adjust callers. 2011-08-07 Gabriel Dos Reis * interp/define.boot (templateVal): Fold into expantTypeArgs. Remove. 2011-08-05 Gabriel Dos Reis * interp/define.boot (extendsCategoryBasic0): Fold into extendsCategoryBasic. Remove. 2011-08-05 Gabriel Dos Reis * boot/tokens.boot: Remove unused and antiquated tokens. * interp/i-output.boot: Escape caret. 2011-08-05 Gabriel Dos Reis * algebra/boolean.spad.pamphlet (Boolean) [test]: Remove. 2011-08-04 Gabriel Dos Reis * boot/ast.boot (bfFlattenSeq): Rewrite. (bfMKPROGN): Tidy. 2011-08-03 Gabriel Dos Reis * boot/ast.boot (bfSTEP): Synthetize artificial variable for unnamed loop index. 2011-07-14 Gabriel Dos Reis * boot/ast.boot (bfIS1): Tidy test for cons cells. 2011-07-13 Gabriel Dos Reis * interp/functor.boot (CategoryPrint): Move from category.boot. (DomainPrint1): Tidy. (PacPrint): Likewise. (DomainPrintSubst): Likewise. 2011-07-13 Gabriel Dos Reis * boot/tokens.boot: copyString, copyTree, and copyVector are now builtin library functions. * interp/br-util.boot: Use copyVector instead of COPY-SEQ. * interp/category.boot: Likewise. * interp/define.boot: Likewise. * interp/functor.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/newfort.boot: Likewise. 2011-07-13 Gabriel Dos Reis * interp/category.boot: Remove dead codes. * interp/define.boot (hasFullSignature): Tidy. 2011-07-10 Gabriel Dos Reis * interp/c-util.boot (categoryExports): New. * interp/category.boot (mkCategory): Use it. (DropImplementations): Tidy. 2011-07-07 Gabriel Dos Reis * gui/debate.cc (start_interpreter): Do not forget core command line options. Separate them from options to the base Lisp runtime system. 2011-07-05 Gabriel Dos Reis * interp/br-util.boot ($charUnderscore): Move to br-search.boot where it is used. * interp/br-search.boot (pmPreparse): Tidy. (mkGrepPattern1): Likewise. (genSearch): Don't try to remove default operations; they have already been left out by grepSplit. (docSearch): Likewise. * interp/br-con.boot (dbShowConsDoc1): Don't confusingly enclose a straightline documentation in a list. * interp/br-op1.boot (dbShowOpDocumentation): Remove redundant test. * interp/br-op2.boot (kFormatSlotDomain): Call isConstructorName only on identifiers. * interp/br-saturn.boot (displayDomainOp): Tidy. (bcConform1): Likewise. 2011-07-05 Gabriel Dos Reis * gui/gui.pro.in [Mac OS X]: Don't build application bundle. 2011-07-04 Gabriel Dos Reis * graph/view2D/process2d.c: Include "cfuns.h? before other local headers. * graph/view2D/control2d.c: Likewise. * graph/view2D/main2d.c: Likewise. * graph/view3D/process3d.c: Likewise. * graph/view3D/main3d.c: Likewise. * graph/view3D/surface3d.c: Likewise. 2011-07-04 Gabriel Dos Reis * interp/setvars.boot: Remove support for script formula. * interp/setvart.boot: Likewise. * interp/diagnostics.boot (sayBrightlyNT1): Move from macros.lisp. (sayBrightly1): Likewise. (sayBrightlyNT): Likewise. (sayBrightly): Likewise. (sayBrightlyI): Likewise. (sayMSG): Likewise. (sayTeX): Likewise. (sayMSG2File): Likewise. * interp/i-output.boot (formulaFormat): Remove. (output): Adjust. * interp/macros.lisp (sayMSGNT): Remove. (sayFORTRAN): Likewise. (sayFORMULA): Likewise. ($formulaOutputstream): Likewise. * interp/sys-globals.boot ($formulaOutputstream): Remove. * interp/spad.lisp ($formulaFormat): Remove. * algebra/exposed.lsp.pamphlet: Do not expose ScriptFormulaFormat and ScriptFormulaFormat1. * algebra/exposed.lsp.pamphlet: Remove. 2011-07-04 Gabriel Dos Reis * interp/int-top.boot (SpadInterpretStream): Remove binding of $erMsgToss, as it is never assigned to. (phIntReportMsgs): Adjust. (phReportMsgs): Likewise. * interp/msg.boot (showMsgPos?): Likewise. (initImPr): Likewise. 2011-07-03 Gabriel Dos Reis * interp/vmlisp.lisp (PRINTEXP): Remove. * interp/br-data.boot: Use writeString, writeChar, and writeLine. * interp/c-util.boot: Likewise. * interp/diagnostics.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-util.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/newfort.boot: Likewise. * interp/record.boot: Likewise. * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %writeString, %writeNewline, %writeLine. * interp/lisp-backend.boot: Translate them. 2011-07-03 Gabriel Dos Reis * boot/tokens.boot: flushOutput, writeNewline, writeString are new builtin library functions. * boot/utility.boot (finishLine): New exported function. * interp/i-output.boot (formulaFormat): Use it. (texFormat): Likewise. (texFormat1): Likewise. (mathmlFormat): Likewise. (output): Remove case for TextWriter. 2011-07-02 Gabriel Dos Reis * interp/macros.lisp (sayALGEBRA): Remove as duplicate of sayMSG. * interp/i-output.boot: Replace sayALGBEBRA with sayMSG. * interp/msg.boot (ncHardError): Remove dead variable ergMsg. (ncBug): Likewise. 2011-07-01 Gabriel Dos Reis * gui/conversation.h (OutputTextArea): Now inherit from QTextEditor, for the nth time. (OutputTextArea::sizeHint): Declare as override. * gui/conversation.cc (OutputTextArea::OutputTextArea): Make the output text editor read only. Disallow vertical scroll bars. (OutputTextArea::sizeHint): Give a tight estimate. (OutputTextArea::add_paragraph): Tidy. (OutputTextArea::add_text): Likewise. (Exchange::reply_to_query): Toggle the mouse in busy state after submitting query. (Conversation::read_reply): Untoggle mouse' busy state if last output text was read. 2011-06-30 Gabriel Dos Reis * sman/sman.c (main): Don't start Hyperdoc if no X11 server is running. 2011-06-30 Gabriel Dos Reis * interp/modemap.boot: Cleanup inactive codes. 2011-06-27 Gabriel Dos Reis * utils/Makefile.in (libOpenAxiom_SOURCES): Include filesystem.cc * include/open-axiom.h (Filesystem): New. * gui/debate.cc (Debate::Debate): Initialize fs data member. * gui/debate.h (Debate): Declare it. 2011-06-26 Gabriel Dos Reis * utils/storage.H (Memory::Arena): Extend. (Memory::Factory): Add iterators. Make bidirectional. 2011-06-26 Gabriel Dos Reis * algebra/sf.spad.pamphlet (DoubleFloat) [nan?]: New export. * algebra/clip.spad.pamphlet (TwoDimensionalPlotClipping): Use it instead of %fNan?. * algebra/plot.spad.pamphlet (Plot): Likewise. 2011-06-25 Gabriel Dos Reis * sman/Makefile.in (oa_OpenAxiom_ldflags): New. (spadclient_LDADD): Use it. (sman_LDADD): Likewise. 2011-06-25 Gabriel Dos Reis * share/algebra/libaxiom.al: Remove. * algebra/libdb.text: Likewise. 2011-06-25 Gabriel Dos Reis * sman/sman.c (main): Don't start the graphics and no X11 server is running. 2011-06-23 Gabriel Dos Reis * utils/command.cc (build_rts_options) [clozure_runtime]: Request no read of initialization file instead of quiet mode. (execute_core): Set arg[0] to the about-to-bed-executed program. 2011-06-22 Gabriel Dos Reis * driver/Makefile.in (open_axiom_LDADD): Use library archives for linking, to prevent accidental use of dynamic libraries. 2011-06-22 Gabriel Dos Reis * interp/br-con.boot: Remove reference to asharp constructors. * interp/br-op2.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/br-util.boot: Likewise. * interp/c-util.boot: Likewise. * interp/cattable.boot: Likewise. * interp/database.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/nrunfast.boot: Likewise. 2011-06-22 Gabriel Dos Reis Fix ECL-based build failure. * interp/sys-driver.boot (loadExposureGroupData): Use getSystemModulePath to look up system modules. 2011-06-22 Gabriel Dos Reis * boot/ast.boot (shoeEVALANDFILEACTQ): Remove. (bfMain): Don't use it. (translateToplevelExpression): Likewise. * interp/Makefile.in (stamp): $(AUTO) is no more. (all-interpsys): Likewise. 2011-06-22 Gabriel Dos Reis * interp/spaderror.lisp (trapNumericErrors): Fix typo. 2011-06-22 Gabriel Dos Reis * interp/g-opt.boot ($VMsideEffectFreeOperators): Include FUNCALL. ($simpleVMoperators): Include SPADCALL. 2011-06-22 Gabriel Dos Reis * interp/br-search.boot (dbReadLines): Don't include end-of-stream marker. 2011-06-22 Gabriel Dos Reis * interp/g-opt.boot (optCond): Remove unreachable code. (opt2bit): Tidy. (opt2bool): Likewise. * interp/bits.lisp (TRUTH-TO-BIT): Remove. (BIT-TO-TRUTH): Likewise. (BVEC-MAKE-FULL): Likewise. (BVEC-ELT): Likewise. (BVEC-SETELT): Likewise. 2011-06-21 Gabriel Dos Reis * interp/Makefile.in (OBJS): Remove foam_l.$(FASLEXT), $(ASCOMP). (ASCOMP, ASAUTO): Remove. * interp/axext_l.lisp: Remove. * interp/foam_l.lisp: Likewise. * interp/ax.boot: Likewise. * interp/as.boot: Likewise. * interp/daase.lisp: Adjust. * interp/i-syscmd.boot: Likewise. 2011-06-21 Gabriel Dos Reis * interp/buildom.boot (MappingCategory): Take argument by value. 2011-06-21 Gabriel Dos Reis * interp/compiler.boot: Remove reference to $SingleFloat. * interp/foam_l.lisp: Likewise. * interp/fortcall.boot: Likewise. * interp/sys-constants.boot: Likewise. * lisp/core.lisp.in: Likewise. 2011-06-20 Gabriel Dos Reis * lisp/core.lisp.in (%fNaN?): New. * interp/spaderror.lisp (trapNumericErrors): Handle ARITHMETIC-ERROR too. * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %fNaN?. * algebra/clip.spad.pamphlet (TwoDimensionalPlotClipping): Use it. * algebra/plot.spad.pamphlet (Plot): Likewise. 2011-06-20 Gabriel Dos Reis * interp/spaderror.lisp ($numericFailure): Remove. (trapNumericErrors): Define for non-GCL RTS. Tidy GCL-based definition. * algebra/draw.spad.pamphlet: trapNumericErrors now returns a value of type Maybe T. * algebra/plot.spad.pamphlet: Likewise. * algebra/plot3d.spad.pamphlet: Likewise. 2011-06-20 Gabriel Dos Reis * Makefile.am (OA_GRAPHICS_TARGETS): Fix thinko. 2011-06-20 Gabriel Dos Reis * utils/storage.H (Memory::Storage::acquire): Remove. (Memory::SinglyLinkedStorage::acquire): Likewise. (Memory::DoublyLinkedStorage): New. * utils/storage.cc (acquire_storage_with_header): Rename from Storage::acquire. Make template. (OneWayLinkHeader): Rename from SingleLinkHeader. (TwoWayLinkHeader): New. 2011-06-15 Gabriel Dos Reis * lib/fnct_key.c (handle_function_key): Explicitly cast the null pointer sentinel to a pointer type. 2011-06-15 Gabriel Dos Reis * sman/sman.c: utils.h no longer exists. 2011-06-11 Gabriel Dos Reis * scripts/document.in: Remove. 2011-06-09 Gabriel Dos Reis * graph/view3D/header.h (swap): Remove. 2011-06-06 Gabriel Dos Reis * lisp/core.lisp.in (%escapeSequenceAverseHost?): New. * interp/msgdb.boot (brightPrint0): Use it. 2011-06-05 Gabriel Dos Reis * utils/command.cc (default_driver): New. (preprocess_arguments): Use it. Honor --no-gui on Windows. (OPENAXIOM_DEFAULT_DRIVER): Remove. 2011-06-04 Gabriel Dos Reis * driver/main.cc (upgrade_environment): Augment PATH for Windows DLL search. 2011-06-04 Gabriel Dos Reis * driver/Makefile.in (open-axiom$(EXEEXT)): Link statically. * boot/ast.boot: Remove debugging statement. 2011-05-28 Gabriel Dos Reis * interp/sys-utility.boot (displayTextFile): New. * interp/i-syscmd.boot (summary): Use it. (copyright): Likewise. * algebra/net.spad.pamphlet: Replace closeFile with closeStream. * boot/translator.boot: Likewise. * interp/as.boot: Likewise. * interp/ax.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/br-search.boot: Likewise. 2011-05-28 Gabriel Dos Reis * lisp/core.lisp.in (readExpr): New. * interp/as.boot: Replace READLINE with readLine. * interp/br-data.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/br-search.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/cstream.boot: Likewise. * interp/g-error.boot: Likewise. * interp/ht-root.boot: Likewise. * interp/htcheck.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/server.boot: Likewise. * interp/topics.boot: Likewise. * interp/compat.boot (READLINE): Remove. * interp/sys-macros.lisp (shoeConsole): Remove. (shoeInputFile): Likewise. (shoeread-line): Likewise. * boot/ast.boot (bfQ): %nothing only needs EQ. * algebra/files.spad.pamphlet (File) [read!, readIfCan!]: Use readExpr instead of VMREAD. Avoid PLACEP (TextFile) [readLine!, readLineIfCan!]: Likewise. 2011-05-28 Gabriel Dos Reis * interp/intfile.boot: Remove. 2011-05-28 Gabriel Dos Reis * lisp/core.lisp.in: Define and export readLine and readbyte. * interp/sys-utility.boot (readByteFromFile): Remove. * boot/tokens.boot: Don't rename readLine and readByte. * boot/includer.boot (shoeReadLine): Remove. (bRgen1): Adjust. Use resdLine. * algebra/net.spad.pamphlet (InputBinaryFile): Use readByte from the runtime system. 2011-05-25 Gabriel Dos Reis * boot/ast.boot (shoeCompTran1): Translate arguments to vector constructor too. 2011-05-20 Gabriel Dos Reis * interp/modemap.boot (augModemapsFromDomain): Don't add modemaps for element types of Vector or List aggregates. * algebrar/: Adjust algebras that depended on this behaviour. 2011-05-20 Gabriel Dos Reis * interp/compiler.boot (compConstructorCategory): Rewrite. 2011-05-19 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet (Aggregate) [more?,less?,size?]: Move to StreamAggregate. * algebra/array2.spad.pamphlet (TwoDimensionalArrayCategory): Don't implement them. * algebra/tree.spad.pamphlet (Tree): Likewise. 2011-05-19 Gabriel Dos Reis * interp/i-analy.boot (bottomUpForm0): Tidy. * interp/i-eval.boot (evalForm): Likewise. * interp/buildom.boot (formalRecordField): New. (eltRecordFun): Use it. (seteltRecordFun): New. * interp/g-opt.boot (optSETRECORDELT): Remove. (optRECORDCOPY): Likewise. * interp/vmlisp.lisp (MAKE-VEC): Likewise. 2011-05-19 Gabriel Dos Reis * interp/i-eval.boot (evalForm): Adjust. * interp/buildom.boot (mkRecordFun): New. (eltRecordFun): Likewise. (copyRecordFun): Likewise. (mkRecordFunList): Use them. * interp/g-opt.boot (optMkRecord): Remove. (optRECORDELT): Likewise. * interp/lisp-backend.boot: Translate %vcopy. 2011-05-18 Gabriel Dos Reis * interp/buildom.boot (lookupInDomainVector): Establish a new binding for $lookupDefaults. 2011-05-18 Gabriel Dos Reis * interp/buildom.boot (mkEnumerationFunList): Include enum constants in the operation list. 2011-05-18 Gabriel Dos Reis * interp/buildom.boot (Enumeration): Provide implementation of constants. 2011-05-18 Gabriel Dos Reis * boot/translator.boot: Remove bindings of $GenVarCounter. * boot/parser.boot (bpOutItem): Bind it here. 2011-05-17 Gabriel Dos Reis * interp/buildom.boot (EnumerationCategory): Rewrite. * interp/compiler.boot (compEnumCat): New. Compile EnumerationCategory forms. 2011-05-16 Gabriel Dos Reis * boot/ast.boot (bfAtScope): New. * boot/parser.boot (bpDo): Accept scoped expressions. * boot/translator.boot: Cleanup. 2011-05-15 Gabriel Dos Reis * boot/tokens.boot: "do" is now a keyword. * boot/ast.boot (bfDo): New. * boot/parser.boot (bpDo): New. (bpReturn): Include do-expressions. * interp/vmlisp.lisp (do): Remove. 2011-05-15 Gabriel Dos Reis * boot/ast.boot (shoeCompTran1): Don't indiscriminately walk CASE forms. Translate %Namespace forms too. * boot/parser.boot (bpApplication): Include Namespace too. 2011-05-14 Gabriel Dos Reis * boot/parser.boot (bpNamedScope): New. (bpApplication): Call it. 2011-05-13 Gabriel Dos Reis * boot/utility.boot (charPosition): New. * boot/scanner.boot (shoeAccumulateLines): Use it. (shoeS): Likewise. 2011-05-12 Gabriel Dos Reis * boot/initial-env.lisp (MAKE-HASHTABLE): Remove. (BEVC-MAKE-FULL): Likewise. (MAKE-BVEC): Likewise. * boot/tokens.boot (shoeKeyTableCons): Adjust. (shoePunCons): Likewise. (shoeDfu): Likewise. (shoeXref): Likewise. 2011-05-07 Gabriel Dos Reis * algebra/table.spad.pamphlet (HashTable): Use tableValue instead of HGET. Use tableLength instead of HCOUNT. 2011-05-04 Gabriel Dos Reis * boot/initial-env.lisp (shoeOpenOutputFile): Remove. Adjust callers to use outputTextFile. 2011-05-03 Gabriel Dos Reis * boot/initial-env.lisp (shoeOpenInputFile): Remove. Adjust callers to use inputTextFile with try/finally. 2011-05-02 Gabriel Dos Reis * boot/ast.boot (idList?, charList?, stringLits?): New. (bfMember): Use them for special cases. * boot/parser.boot (bpDefinition): Stop support MDEF forms. (bpMdef, bpMDefTail): Remove. * boot/tokens.boot: "==>" is no longer a token. 2011-05-02 Gabriel Dos Reis * interp/c-util.boot (categoryRef, domainRef, canonicalForm) (instantiatorCtor, instantiatorArgs, categoryExports): New. 2011-05-01 Gabriel Dos Reis * boot/parser.boot (bpDefinition): Accept macro definition starting with the keyword "MACRO". * boot/translator.boot (exportNames): Export them in all evaluation contexts. * interp/c-util.boot: "macro" is now a keyword. * interp/define.boot: Likewise. * interp/g-util.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/postpar.boot: Likewise. 2011-05-01 Gabriel Dos Reis * interp/macros.lisp (WI, tryLine, embrace indentNB, tryBreak) (tryBreakNB, MARKHASH): Remove. * interp/spad.lisp (NEWNAMTRANS): Likewise. * interp/sys-macros.lisp: Remove more Lispy junk. 2011-05-01 Gabriel Dos Reis * boot/utility.boot (applySubstNQ): New. * interp/compiler.boot (finishLambdaExpression): Use it. * interp/i-intern.boot (mkAtreeExpandMacros): Likewise. * interp/i-map.boot (addMap): Likewise. * interp/vmlisp.lisp (SUBLISNQ, SUBANQ, SUBB): Remove. 2011-05-01 Gabriel Dos Reis * interp/vmlisp.lisp (EQSUBSTLIST): Remove. * interp/c-util.boot (eqSubstAndCopy, eqSubst): Likewise. Adjust callers. 2011-04-30 Gabriel Dos Reis * interp/buildom.boot: Replace use of EQSUBSTLIST with applySubst. * interp/c-util.boot: Likewise. * interp/cattable.boot: Likewise. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/format.boot: Likewise. * interp/functor.boot: Likewise. * interp/hashcode.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/modemap.boot: Likewise. * interp/rulesets.boot: Likewise. * interp/slam.boot: Likewise. * interp/sys-macros.lisp (APPLYR, TAILFN, TAIL, rplac): Remove as unused. 2011-04-30 Gabriel Dos Reis * boot/tokens.boot: Don't rename append. * boot/parser.boot (bpTyping): Support universally quantified types. * boot/ast.boot: Rewrite APPEND as append. (%Forall): New AST node. * boot/translator.boot: Translate it. 2011-04-30 Gabriel Dos Reis * boot/ast.boot (bfAppend): Write in full. * interp/ptrees.boot (pfAppend): Likewise. 2011-04-30 Gabriel Dos Reis * interp/vmlisp.lisp (NREMOVE): Remove. (EFFACE): Likewise. * interp/sys-utility.boot (remove!): New. 2011-04-29 Gabriel Dos Reis * interp/vmlisp.lisp (remove): Remove. (REMOVEQ, NREMOVEQ): Likewise. * boot/utility.boot (removeSymbol, removeScalar, removeValue) (remove): New. * boot/ast.boot (bfMDef): Use applySubst in lieu of SUBLIS. 2011-04-29 Gabriel Dos Reis * boot/utility.boot (assocSymbol): New. (applySubst): Likewise. Export. * boot/ast.boot: Use it. Remove SUBLIS and SUBLISLIS. * interp/ax.boot: Likewise. * interp/br-con.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-op2.boot: Likewise. * interp/br-prof.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/buildom.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/c-util.boot: Likewise. * interp/cattable.boot: Likewise. * interp/compiler.boot: Likewise. 2011-04-29 Gabriel Dos Reis * interp/cattable.boot (hasCat): Add type. Accept only instantiation forms. (simpHasPred): Adjust call to hasCat. * interp/i-funsel.boot (hasCaty): Likewise. 2011-04-27 Gabriel Dos Reis * boot/ast.boot (bfReduceCollect): Delegate to bfDoCollect if op is append or append!. 2011-04-27 Gabriel Dos Reis * boot/ast.boot (bfCollect): Use bfDoCollect. (bfListReduce): Remove. 2011-04-27 Gabriel Dos Reis * boot/ast.boot (bfMakeCollectInsn): Fix thinko. 2011-04-27 Gabriel Dos Reis * interp/br-util.boot (dbInfovec): Move to c-util.boot 2011-04-25 Gabriel Dos Reis * boot/translator.boot (inAllContexts): New. (translateToplevel): Use it. * boot/parser.boot (bpImport): Accept namespace import. 2011-04-24 Gabriel Dos Reis * boot/initial-env.lisp (MEMQ): Remove. * boot/ast.boot (shoeATOMs): Don't use it. (isDynamicVariable): Likewise. (shoeCompTran1): Likewise. * boot/translator.boot (defuse1): Likewise. 2011-04-24 Gabriel Dos Reis * boot/ast.boot (bfMakeCollectInsn): New. (bfDoCollect): Tidy. 2011-04-24 Gabriel Dos Reis * boot/ast.boot (bfDoCollect): New. Implement one-pass list comprehension. (bfListReduce): Use it. 2011-04-23 Gabriel Dos Reis * boot/ast.boot (bf0APPEND): Remove. (bf0COLLECT): Likewise. (bfCollect): Tidy. 2011-04-23 Gabriel Dos Reis * lisp/core.lisp.in: Export basic types and compiler data types. * interp/modemap.boot (knownInfo): Fix latent bug uncovered by type declarations. * boot/ast.boot: Remove type definitions. (bfIN): Handle DOT as loop variable. (bfON): Likewise. Allow a loop variable to iterator over its own tails. * boot/parser.boot (bfTyping): Simplify. (bpSimpleMapping): Fix thinko. 2011-04-22 Gabriel Dos Reis * boot/tokens.boot: Don't translate setDifference. * boot/initial-env.lisp (SETDIFFERNECE): Remove. * boot/translator.boot (evalBootFile): Rename form EVAL-BOOT-FILE. * boot/utility.boot (setDifference): Define. * interp/unlisp.lisp (ListMemberQ?): Remove. (ListRemoveQ): Likewise. (AlistAssocQ): Likewise. 2011-04-21 Gabriel Dos Reis * boot/utility.boot (copyList): Define. (append!): Likewise. * boot/tokens.boot: Do not translate nconc. 2011-04-21 Gabriel Dos Reis * boot/tokens.boot: Don't translate lastNode anymore. * boot/utility.boot (lastNode): Define. 2011-04-21 Gabriel Dos Reis * boot/utility.boot (objectMember?): Don't rely non tail recursion removal. (reverse): Define. * boot/tokens.boot: Don't rename reverse anymore. * boot/ast.boot: Generate reverse forms instead of REVERSE. 2011-04-21 Gabriel Dos Reis * boot/tokens.boot: Don't rename nreverse. * boot/utility.boot (reverse!): Define. * boot/parser.boot: Use reverse! instead of NREVERSE. * boot/ast.boot: Generate reverse! forms instead of NREVERSE. 2011-04-20 Gabriel Dos Reis * interp/sys-utility.boot (substitute): Define. (substitute!): Likewise. * boot/utility.boot: Do not rely on tail recursion removal. * boot/tokens.boot: Don't translate substitute and substitute!. * boot/ast.boot (bfLp1): Tidy. 2011-04-19 Gabriel Dos Reis * boot/tokens.boot: charUpcase, charDowncase, stringUpcase, singDowncase, valueEq? are new builtin functions. * boot/ast.boot (bfMembr): Tidy. 2011-04-19 Gabriel Dos Reis * interp/newfort.boot: Likewise. * interp/define.boot (orderBySubsumption): Fix thinko. * interp/boot-pkg.lisp: Use BOOTTRAN package. Don't import names individually. * boot/utility.boot: New. * boot/translator.boot (exportNames): Fix thinko. * boot/tokens.boot: Add charEq? and scalarEq? builtiin functions. * boot/ast.boot (bfMember): Generate call to symbolMember? for membership tests for symbols. 2011-04-19 Gabriel Dos Reis * boot/ast.boot (%Module): Now take three arguments. * boot/parser.boot (bpModuleInterface): Rename from bpExports. (bpModuleExports): New. (bpModule): Now allow specification of exported names. 2011-04-17 Gabriel Dos Reis * boot/tokens.boot: Translate maxIndex to MAXINDEX. 2011-04-16 Gabriel Dos Reis * boot/tokens.boot (shoeIdChar): Accept "!" too. 2011-04-14 Gabriel Dos Reis * interp/msgdb.boot: Use stringChar more often. 2011-04-11 Gabriel Dos Reis * lisp/core.lisp.in: Include SB-SPROF when profiling SBCL-based build. 2011-04-10 Gabriel Dos Reis * lisp/core.lisp.in (compileLispFile): Tell ECL that the linker is a C++ compiler. 2011-03-22 Gabriel Dos Reis * algebra/op.spad.pamphlet (BasicOperator) [display]: Now return a Maybe (List O -> O) value. [input]: Now return a Maybe(List SEX -> SEX). * algebra/kl.spad.pamphlet (Kernel): Adjust. * algebra/pattern.spad.pamphlet (Pattern): Likewise. 2011-03-20 Gabriel Dos Reis * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %bytevec2str and %str2bytevec opcode. * interp/lisp-backend.boot: Expand them. * algebra/data.spad.pamphlet (ByteBuffer): Tidy. 2011-03-19 Gabriel Dos Reis * boot/translator.boot (FC): Remove. (FBO): Likewise. (FEV): Likewise. (shoeGeneralFC): Likewise. (shoeFindName): Likewise. (shoeFindName2): Likewise. (shoeTransform2): Likewise. * boot/scanner.boot (shoeLineToks): Don't support `)package' line anymore. * boot/includer.boot: Remove support for `)package', `)include', `)includelisp', `)includelines' lines. (shorPackageStartsAt): Remove. (shorFindLines): Likewise. (shoeFileInput): Likewise. (shoeLispFileInput): Likewise. (shoeLineFileInput): Likewise. (shoeFunctionFileInput): Likewise. (shoePlainLine?): Reflect removal. (shoeSimpleLine): Likewise. * boot/tokens.boot (charByName): New builtin library function. * algebra/sf.spad.pamphlet (RealNumberSystem): Don't re-export abs. It is already exported by OrderedRing. 2011-03-17 Gabriel Dos Reis * utils/sexpr.H: Support more specialized s-expressions. * utils/sexpr.cc: Likewise. 2011-03-17 Gabriel Dos Reis * utils/storage.H: Rework. * utils/storage.cc: Likewise. 2011-03-16 Gabriel Dos Reis * interp/i-syscmd.boot (compileSpad2Cmd): Remove experimental support for Spad to Aldor translation. (convertSpasToAsFile): Remove. * interp/mark.boot: Remove. * interp/nspadux.lisp: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise. * interp/spad.lisp: Don't register removed formatters. * interp/util.lisp: (TRANSLATE-FUNCTIONS): Remove. (BUILD-INTERPSYS): Now take only one argument. * src/share/doc/msgs/s2-us.msgs: Remove diagnostic S2IZ0085. * interp/Makefile.in: Remove rules for building wi1.boot, wi2.boot, mark.boot, pspad1.boot pspad2.boot. 2011-03-12 Gabriel Dos Reis * src/algebra/: Systematically use not zero? when comparing for equality with 0. 2011-03-12 Gabriel Dos Reis * src/algebra/: Systematically use not one? when comparing for equality with 1. 2011-03-12 Gabriel Dos Reis * src/algebra/: Systematically use negative? when comparing for equality with 0. 2011-03-12 Gabriel Dos Reis * src/algebra/: Systematically use negative? when comparing for greater than 0. 2011-03-12 Gabriel Dos Reis * src/algebra/: Systematically use negative? when comparing for less than 0. 2011-03-12 Gabriel Dos Reis * algebra/si.spad.pamphlet (IntegerNumberSystem) [positive?]: Remove definition. (SingleInteger): Simplify implementation of random. * algebra/sf.spad.pamphlet (DoubleFloat): Likewise. [positive?]: Define. * algebra/integer.spad.pamphlet (Integer): Tidy. 2011-03-11 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (OrderedAbelianGroup): Export negative?, abs, sign, with default implementations. (OrderedAbelianMonoid): Export positive?, with default. (OrderedRing): Don't export them. 2011-03-10 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (CharacteristicNonZero) [charthRoot]: Now return Maybe %. (PolynomialFactorizationExplicit) [charthRoot]: Likewise. * algebra/ffcat.spad.pamphlet (FiniteAlgebraicExtensionField): Propagate change. * algebra/fraction.spad.pamphlet (Fraction) [charthRoot]: Likewise. * algebra/poly.spad.pamphlet (UnivariatePolynomialSquareFree): Likewise. * algebra/polycat.spad.pamphlet (PolynomialCategory): Likewise. 2011-03-10 Gabriel Dos Reis * interp/c-util.boot (equalFormTemplate): Tidy comparison of value argument to constructors. 2011-03-10 Gabriel Dos Reis * interp/c-util.boot (mutateArgumentList): New. (inlineDirectCall): Break out of replaceSimpleFunctions. (resolveIndirectCall): Break out of foldSpadcall. (replaceSimpleFunctions): Use them. (foldSpadcall): Remove. (usesVariablesLinearly?): Tidy. (foldExportedFunctionReferences): Don't call foldSpadcall. 2011-03-10 Gabriel Dos Reis * interp/c-util.boot (resolveConstantForm): New. Split out of replaceSimpleFunctions. (foldSpadcall): Use it too. 2011-03-09 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (StepThrough) [nextItem]: Now return Maybe %. * algebra/ffcat.spad.pamphlet: Propagate change. * algebra/fmod.spad.pamphlet: Likewise. * algebra/fraction.spad.pamphlet: Likewise. * algebra/integer.spad.pamphlet: Likewise. * algebra/pfbr.spad.pamphlet: Likewise. * algebra/polycat.spad.pamphlet: Likewise. * algebra/si.spad.pamphlet: Likewise. 2011-03-09 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (EuclideanDomain) [expressIdealMember]: Now returns Maybe List %. * algebra/Makefile.in: Tidy. (axiom_algebra_bootstrap_last_layer): Remove. 2011-03-09 Gabriel Dos Reis * interp/g-opt.boot: %pair, %list, %vector, %bitvector are now considered side-effect free functions. * algebra/boolean.spad.pamphlet: Reflect change. * algebra/Makefile.in (oa_strap_0_sources): Include MAYBE. 2011-03-09 Gabriel Dos Reis * interp/g-opt.boot (semiSimpleRelativeTo?): Consider conditionals. 2011-03-07 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (SemiRing): New category. 2011-03-06 Gabriel Dos Reis * interp/sys-utility.boot (getSystemModulePath): Use systemAlgebraDirectory. * interp/database.boot (pathToDatabase): Use systemDatabaseDirectory. * algebra/integer.spad.pamphlet (Integer) [latex]: Tidy. * algebra/string.spad.pamphlet (Character) [latex]: Likewise. * algebra/Makefile.in: Rework bootstrapping set up. (COMPILE_LISP): Remove. (axiom_algebra_layer_strap): Likewise. (axiom_algebra_layer_strap_objects): Likewise. (axiom_algebra_bootstrap): Likewise. (oa_strap_0_fasls): New. (oa_strap_1_fasls): Likewise. (oa_strap_2_fasls): Likewise. (oa_strap_0_sources): Likewise. (oa_strap_1_sources): Likewise. (oa_strap_2_sources): Likewise. * src/algerab/strap: Remove. 2011-03-06 Gabriel Dos Reis * algebra/si.spad.pamphlet (SingleInteger): Logic is indirectly included through BooleanLogic. 2011-03-06 Gabriel Dos Reis * interp/i-eval.boot (mkEvalable): Simplify. (mkEvalableMapping): Remove. (mkEvalableRecord): Likewise. (mkEvalableUnion): Likewise. 2011-03-06 Gabriel Dos Reis * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %c2s. * interp/lisp-backend.boot: Translate it. * algebra/integer.spad.pamphlet (Integer) [convert]: Tidy. [latex]: Likewise. * algebra/string.spad.pamphlet (Character)[latex]: Likewise. 2011-03-05 Gabriel Dos Reis * interp/as.boot: Use getConstructorAbbreviationFromDB. * interp/br-con.boot: Likewise. * interp/br-data.boot: Likewise. * interp/br-prof.boot: Likewise. * interp/br-util.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/clammed.boot: Likewise. * interp/database.boot: Likewise. * interp/define.boot: Likewise. * interp/format.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-cndata.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-output.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/pspad1.boot: Likewise. 2011-03-04 Gabriel Dos Reis * interp/nrunopt.boot: Move content to define.boot, interop.boot, lisplib.boot, nruncomp.boot, showimp.boot. Delete. 2011-03-02 Gabriel Dos Reis * interp/nrungo.boot: Move content to buildom.boot, i-map.boot, i-special.boot, nrunfast.boot. Delete. 2011-03-02 Gabriel Dos Reis * interp/i-eval.boot (mkEvalable): Exit early on niladic constructors. * interp/define.boot (compDefineFunctor1): If bootstrapping, mark functor as incomplete. * interp/c-util.boot (lookupDefiningFunction): Don't look into incomplete domains. 2011-02-28 Gabriel Dos Reis * interp/info.boot: Move content to modemap.boot. Delete. 2011-02-28 Gabriel Dos Reis * interp/i-code.boot: Move content to i-coerce.boot. Delete. 2011-02-28 Gabriel Dos Reis * algebra/boolean.spad.pamphlet (PropositionalFormula): Implement true and false. Fix thinko in notFormula. 2011-02-27 Gabriel Dos Reis * interp/i-analy.boot (elaborateTree): New. * interp/i-special.boot (bottomUpProposition): Likewise. (upand): Use it to handle propositional formula. (upor): Likewise. 2011-02-27 Gabriel Dos Reis * interp/i-analy.boot (bottomUpWithArgModesets): Split out of bottomUp. (bottomUp): Call it. 2011-02-27 Gabriel Dos Reis * interp/Makefile.in (OBJS): Remove i-spec1.$(FASLEXT) and i-spec2.$(FASLEXT). Add i-special.$(FASLEXT). * interp/i-spec1.boot, interp/i-spec2.boot: Move content to i-special.boot. Remove. 2011-02-27 Gabriel Dos Reis * algebra/outform.spad.pamphlet (OutputForm) [infix?]: Rewrite. 2011-02-26 Gabriel Dos Reis * interp/g-opt.boot (optCond): Recognize conjunction and disjunction forms. 2011-02-26 Gabriel Dos Reis * interp/nruncomp.boot (optDeltaEntry): Don't SPADCALL the constant producing function. * interp/c-util.boot (getFunctionReplacement): Use comptileTimeBindingOf. (lookupDefiningFunction): Tidy. * interp/g-opt.boot (compileTimeBindingOf): Move to c-util.boot. 2011-02-26 Gabriel Dos Reis * interp/g-opt.boot (canInlineVarDefinition): Observe order of evaluation. 2011-02-25 Gabriel Dos Reis * interp/g-opt.boot (optNot): Push %not inside conditionals. (optCond): Remove ineffectual transformation. 2011-02-25 Gabriel Dos Reis * interp/parse.boot (parseLessEqual): Remove. 2011-02-25 Gabriel Dos Reis * algebra/fmod.spad.pamphlet (IntegerMod): Simplify implementation. 2011-02-24 Gabriel Dos Reis * boot/tokens.boot: makeSymbol is not a builtin function. * boot/ast.boot: Use makeSymbol in place of INTERN. * boot/parser.boot: Likewise. * boot/scanner.boot: Likewise. * boot/translator.boot: Likewise. * interp/alql.boot: Likewise. * interp/as.boot: Likewise. * interp/ax.boot: Likewise. * interp/bc-matrix.boot: Likewise. * interp/bc-solve.boot: Likewise. * interp/br-con.boot: Likewise. * interp/br-data.boot: Likewise. * interp/br-op2.boot: Likewise. * interp/br-prof.boot: Likewise. * interp/br-search.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/c-util.boot: Likewise. * interp/clam.boot: Likewise. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/format.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-map.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/g-util.boot: Likewise. * interp/functor.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/postpar.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/parse.boot: Likewise. * interp/packtran.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/newfort.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/modemap.boot: Likewise. * interp/mark.boot: Likewise. * interp/intfile.boot: Likewise. * interp/interop.boot: Likewise. * interp/incl.boot: Likewise. * interp/word.boot: Likewise. * interp/wi2.boot: Likewise. * interp/wi1.boot: Likewise. * interp/trace.boot: Likewise. * interp/topics.boot: Likewise. * interp/sys-constants.boot: Likewise. * interp/showimp.boot: Likewise. * interp/scan.boot: Likewise. 2011-02-24 Gabriel Dos Reis * interp/sys-macros.lisp (shellEntry): New. * interp/g-util.boot (setShellEntry): Remove. * interp/compiler.boot: Use %store to %tref forms instead of setHSellEntry. * interp/define.boot: Likewise. * interp/functor.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/showimp.boot: Likewise. * interp/c-util.boot (isSimple): Tidy. (isSideEffectFree): Likewise. (updateCapsuleDirectory): Likewise. 2011-02-23 Gabriel Dos Reis * interp/c-util.boot (isSimple): Accept constructor instantiations. * algebra/formula.spad.pamphlet: Avoid Lispisms. * algebra/mathml.spad.pamphlet: Likewise. * algebra/op.spad.pamphlet: Likewise. * algebra/sex.spad.pamphlet: Likewise. 2011-02-22 Gabriel Dos Reis * boot/tokens.boot: mmSource is a new selector for modemap datatype. * interp/wi1.boot: Likewise. * interp/br-data.boot: Various cleanups. * interp/c-util.boot: Likewise. * interp/compiler.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-util.boot: Likewise. * interp/guess.boot: Likewise. * interp/i-util.boot: Likewise. * interp/mark.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/topics.boot: Likewise. 2011-02-22 Gabriel Dos Reis * interp/g-opt.boot (optCond): Recognize conjunctive guard as nested conditionals. 2011-02-20 Gabriel Dos Reis * interp/parse.boot (transSeq): Aggregate branches of toplevel conditionals so that implications propagate down the pipe. 2011-02-15 Gabriel Dos Reis * interp/compiler.boot (coerceExtraHard): Explicitly fail if autoCoerceByModemap fails. 2011-02-14 Gabriel Dos Reis * interp/compiler.boot (getUnionMode): Remove. (isUnionMode): Move to c-util.boot. (coerceExtraHard): Rework. (belongsTo?): Remove. * interp/c-util.boot (isUnionMode): Moved from compiler.boot. (unionLike?): New. (unionProperty): Likewise. (getInverseEnvironment): Use unionProperty instead of getUnionMode. 2011-02-13 Gabriel Dos Reis * interp/c-util.boot (getSuccessEnvironment): Follow through temporaries designating result of assignment. (getInverseEnvironment): Likewise. 2011-02-13 Gabriel Dos Reis * interp/buildom.boot (mkNewUnionFunList): Align arity of 'case' implementation to declared signature. (mkUnionFunList): Likewise. * interp/compiler.boot (compCase1): 'case' is now unconditionally binary. * interp/g-opt.boot (optCond): Fix thinko. 2011-02-13 Gabriel Dos Reis * interp/g-opt.boot (optCond): Get rid of double negatives when possible. * interp/g-util.boot (assumeProperty): Remove. (flattenVMForm): Likewise. (mkVMForm): Likewise. 2011-02-12 Gabriel Dos Reis * interp/compiler.boot (compCons1): Use coerce not convert. (setqSingle): Likewise. (setqMultiple): Likewise. (compConstruct): Likewise. (compQuote): Likewise. (compElt): Likewise. (compSignatureImport): Likewise. (compComma): Likewise. 2011-02-12 Gabriel Dos Reis * interp/compiler.boot (compExpressionList): Remove. (compForm1): Don't call it. 2011-02-11 Gabriel Dos Reis * interp/g-opt.boot (changeVariableDefinitionToStore): Tidy. 2011-02-11 Gabriel Dos Reis * interp/g-opt.boot (dependentVars): New. (canInlineVarDefinition): Use it to safely inline vardefs. 2011-02-11 Gabriel Dos Reis * interp/compiler.boot (canReturn): Don't check for LET*. * interp/g-opt.boot (optLET*): Remove as we now generate only %bind forms. 2011-02-11 Gabriel Dos Reis * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %funcall and %nothing. * algebra/mkfunc.spad.pamphlet: Use %funcall instead of FUNCALL. 2011-02-10 Gabriel Dos Reis * interp/vmlisp.lisp (VEC-SETELT): Remove. * interp/scan.boot (scanInserts): Use vectorRef. * interp/functor.boot (DescendCode): Don't check for SETELT or QSETREFV forms. * interp/nrunfast.boot (evalSlotDomain): Likewise. 2011-02-10 Gabriel Dos Reis * interp/sys-globals.boot ($evalDomain): Remove. * interp/nrungo.boot (NRTevalDomain): Likewise. Fix callers to call evalDomain. * interp/i-eval.boot (evalDomain): Don't check for $evalDomain anymore. Handle assignment to domain object forms. 2011-02-09 Gabriel Dos Reis Add MappingCategory as a (builtin) category. * interp/sys-constants.boot ($CategoryNames): Include MappingCategory. * interp/g-cndata.boot (unabbrevSpecialForms): Handle MappingCategory, RecordCategory, and UnionCategory. * interp/buildom.boot (MappingCategory): New. * interp/compiler.boot: Elaboration MappingCategory forms. * interp/g-error.boot (needsToSplitMessage): Fix thinko from type-based dispatch done by the Boot translator. * interp/nrunfast.boot (builtinConstructor?): New. (generalizedBuiltinConstructor?): Likewise. (lazyMatch): Use them. (newHasTest): Properly recognize all flavours of category forms. 2011-02-08 Gabriel Dos Reis * interp/sys-constants.boot ($PrimitiveDomainNames): Remove. * interp/category.boot (mkCategory): Drop test for primitive domains. 2011-02-08 Gabriel Dos Reis * interp/category.boot (mkCategory): Don't single out List instantiations in determining NewLocals. 2011-02-08 Gabriel Dos Reis * interp/category.boot(categoryObject?): Rename from isCategory. * interp/c-util.boot: Adjust use. * interp/functor.boot: Likewise. * interp/modemap.boot: Likewise. 2011-02-08 Gabriel Dos Reis * interp/buildom.boot: Don't cache instantiation of builtin domains, as the comment at the top of the file says. 2011-02-08 Gabriel Dos Reis * interp/lisp-backend.boot: Translate %ident? to IDENTP, not SYMBOLP. * interp/compiler.boot (compMatch): test for identifier, not atomic value. * algebra/syntax.spad.pamphlet (Syntax): Tidy. 2011-02-07 Gabriel Dos Reis * boot/tokens.boot: arrayRef is now a builtin function. 2011-02-07 Gabriel Dos Reis * algebra/ituple.spad.pamphlet (InfiniteTuple): Use Stream S as representation, not extended domain (default search does not work for the non-extending categories.) 2011-02-06 Gabriel Dos Reis * interp/g-opt.boot (groupVariableDefinitions): Look into clauses of conditional too. 2011-02-06 Gabriel Dos Reis * interp/c-util.boot (matchingEXIT): New. (simplifySEQ): Use it. 2011-02-05 Gabriel Dos Reis * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %fmanexp. (sideEffectFree?): New. (varIsAssigned): Tidy. (canInlineVarDefinition): Likewise. * interp/boot-pkg.lisp (gensym?): New. * interp/c-util.boot ($NonExpandableOperators): New. (expandableDefinition?): Use it. * algebra/sf.spad.pamphlet (DoubleFloat): Use %fmanexp. 2011-02-05 Gabriel Dos Reis * interp/g-opt.boot ($VMsideEffectFreeOperators): Include inverse hyperbolic functions. * interp/lisp-backend.boot: Expand them. * algebra/sf.spad.pamphlet: Use them. 2011-02-04 Gabriel Dos Reis * interp/g-opt.boot ($VMsideEffectFreeOperators): Remove CGREATERP and GGREATERP. Add VM-level complex number operators. * interp/lisp-backend.boot: Expand them. * algebra/gaussian.spad.pamphlet (ComplexCategory): Use VM form instead of Lisp level forms. * algebra/pfr.spad.pamphlet (PartialFraction): Likewise. * algebra/si.spad.pamphlet (SingleInteger): Likewise. * algebra/symbol.spad.pamphlet (Symbol): Likewise. 2011-02-04 Gabriel Dos Reis * interp/g-opt.boot ($VMsideEffectFreeOperators): Remove more Lisp level operators. Include %property and %bitveclt. * interp/lisp-backend.boot: Expand them. * algebra/si.spad.pamphlet (SingleInteger): Tidy. Use %ismall?. * algebra/domain.spad.pamphlet (DomainConstructo): Use %property. * algebra/outform.spad.pamphlet (OutputForm): Likewise. * algebra/boolean.spad.pamphlet (IndexedBits): Use %bitveclt. 2011-02-03 Gabriel Dos Reis * interp/c-util.boot (mutateConditionalFormWithUnaryFunction): Rename from mutateCONDFormWithUnaryFunction. Update callers (mutateBindingFormWithUnaryFunction): Rename from mutateLETFormWithUnaryFunction. Allow %bind form too. Update callers. 2011-02-03 Gabriel Dos Reis * algebra/stream.spad.pamphlet (Stream): Remove bogus assignment to Rep. Rework local function definitions. 2011-02-03 Gabriel Dos Reis * interp/c-util.boot: Replace COND with %when throught. Use %otherwise instead of %true where appropriate. * interp/define.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/i-code.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-spec2.boot: Likewise. * interp/i-util.boot: Likewise. * interp/info.boot: Likewise. * interp/modemap.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/slam.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise. * interp/compiler.boot (canReturn): Don't test for COND anymore. 2011-02-03 Gabriel Dos Reis * interp/slam.boot (reportFunctionCompilation): Use %otherwise, not %true for default cases. (reportFunctionCacheAll): Likewise. (compileRecurrenceRelation): Likewise. * interp/lisp-backend.boot (expandTry): Tidy. * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %otherwise. * interp/compiler.boot (compAlternativeGuard): Emit %otherwise form, not Lisp level T form. * interp/clam.boot (compClam): Tidy. (compHash): Likewise. (compHashGlobal): Likewise. 2011-02-02 Gabriel Dos Reis * interp/compiler.boot (finishLambdaExpression): Tidy. Don't generate Lisp code directly. (canReturn): Don't look into CLOSEDFN forms. 2011-02-02 Gabriel Dos Reis * interp/clam.boot: Tidy. * interp/slam.boot: Likewise. 2011-02-02 Gabriel Dos Reis * interp/lisp-backend.boot: New file. Consolidate Common Lisp backend module. * interp/Makefile.in (OBJS): Include it. (lisp-backend.$(FASLEXT)): New rule. 2011-02-01 Gabriel Dos Reis * algebra/files.spad.pamphlet (Library): Remove assignment to Rep. * algebra/lie.spad.pamphlet (AssociatedLieAlgebra): Likewise. (AssociatedJordanAlgebra): Likewise. (LieSquareMatrix): Likewise. 2011-02-01 Gabriel Dos Reis * interp/nrunopt.boot (NRTgetLookupFunction): Explain reason for non-extension. 2011-02-01 Gabriel Dos Reis * interp/compiler.boot (compList): Use %nil form, not NIL. 2011-01-31 Gabriel Dos Reis * interp/g-opt.boot (optCallSpecially): Remove. (optSpeciallCall): Likeise. (optCall): Adjust. (optCallEval): Move to wi2.boot, sole user. 2011-01-31 Gabriel Dos Reis * interp/g-opt.boot (optQSMINUS): Remove. * algebra/data.spad.pamphlet: Tidy. * algebra/plot.spad.pamphlet: Likewise. * algebra/plot3d.spad.pamphlet: Likewise. * algebra/si.spad.pamphlet: Likewise. * algebra/syntax.spad.pamphlet: Likewise. * algebra/list.spad.pamphlet: Remove use of NULL$Lisp. 2011-01-31 Gabriel Dos Reis * interp/g-opt.boot ($VMsideEffectFreeOperators): Remove QCDR, QCAR. SYMBOLP, GREATERP. Add %ibit, %ilength, %ident, %equal. * interp/g-util.boot: Expand them * algebra/any.spad.pamphlet: Tidy. * algebra/catdef.spad.pamphlet: Likewise. * algebra/data.spad.pamphlet: Likewise. * algebra/domain.spad.pamphlet: Likewise. * algebra/float.spad.pamphlet: Likewise. * algebra/fname.spad.pamphlet: Likewise. * algebra/integer.spad.pamphlet: Likewise. * algebra/list.spad.pamphlet: Likewise. * algebra/outform.spad.pamphlet: Likewise. * algebra/random.spad.pamphlet: Likewise. * algebra/sex.spad.pamphlet: Likewise. * algebra/si.spad.pamphlet: Likewise. * algebra/symbol.spad.pamphlet: Likewise. * algebra/syntax.spad.pamphlet: Likewise. 2011-01-29 Gabriel Dos Reis * interp/vmlisp.lisp: Remove QREFELT, QSDEC1, QSETREFV, QSETVELT, QSETVELT-1, QSINC1, QVELT, QVELT-1. * algebra/si.spad.pamphlet: Use %iinc and %idec forms. 2011-01-27 Gabriel Dos Reis * interp/nruncomp.boot (NRTputInHead): Tidy. 2011-01-26 Gabriel Dos Reis * interp/g-util.boot (expandListlit): Tidy. 2011-01-25 Gabriel Dos Reis * interp/compiler.boot (compForm1): Use %listlit form. (compExpressionList): Likewise. (compCons1): Likewise. (compList): Likewise. (compVector): Likewise. * interp/g-timer.boot (timedEvaluate): Likewise. * interp/wi1.boot: Likewise. * interp/slam.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/i-object.boot: Likewise. * interp/g-opt.boot (optMkRecord): Likewise. (optRECORDCOPY): Likewise. (optLIST): Remove. (optListlit): New. * interp/g-util.boot (optListlit): New. Expand %listlit forms. 2011-01-24 Gabriel Dos Reis * interp/g-opt.boot (optMkRecord): Generate %makepair forms. ($VMsideEffectFreeOperators): Include %listlit and %veclit. * interp/g-util.boot: Translate them. 2011-01-24 Gabriel Dos Reis * algebra/array1.spad.pamphlet: Use %aref instead of %vref. * interp/g-opt.boot (optSETRECORDELT): Tidy code generation. (optRECORDCOPY): Likewise. (optRECORDELT): Likewise. ($VMsideEffectFreeOperators): Include %aref. Translate. 2011-01-18 Gabriel Dos Reis * interp/vmlisp.lisp (FIXP): Remove. * interp/alql.boot: Use integer? instead of FIXP. * interp/br-con.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/c-util.boot: Likewise. * interp/fnewmeta.lisp: Likewise. * interp/ht-root.boot: Likewise. * interp/i-analy.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/interop.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/mark.boot: Likewise. * interp/newfort.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/setvars.boot: Likewise. * interp/showimp.boot: Likewise. * interp/slam.boot: Likewise. * interp/topics.boot: Likewise. * interp/trace.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise. * interp/word.boot: Likewise. 2011-01-02 Gabriel Dos Reis * interp/g-util.boot: Expand new bit vector operators. * interp/g-opt.boot (opt2bit): New. (opt2bool): Likewise. * interp/bits.lisp (BVEC-SIZE): Remove. (BVEC-COPY): Likewise. (BVEC-CONCAT): Likewise. (BVEC-EQUAL): Likewise. (BVEC-AND): Likewise. (BVEC-OR): Likewise. (BVEC-XOR): Likewise. (BVEC-NAND): Likewise. (BVEC-NOR): Likewise. (BVEC-NOT): Likewise. * algebra/boolean.spad.pamphlet (IndexedBits): Remove uses of Lisp-level functions. 2011-01-02 Gabriel Dos Reis * interp/nrunfast.boot (evalSlotDomain): Expand to VM forms before value argument evaluation. (lazyMatch): Check for %llength too. * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %2bit and %2bool. * interp/g-util.boot: Expand them. * interp/define.boot (compJoin): Check for %llenght too. * algebra/boolean.spad.pamphlet: Tidy. * algebra/domain.spad.pamphlet: Likewise. * algebra/draw.spad.pamphlet: Likewise. * algebra/files.spad.pamphlet: Likewise. * algebra/list.spad.pamphlet: Likewise. * algebra/outform.spad.pamphlet: Likewise. * algebra/sex.spad.pamphlet: Likewise. * algebra/sf.spad.pamphlet: Likewise. 2010-12-31 Gabriel Dos Reis * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %cup and %cdown. * interp/g-util.boot: Expand them. * interp/vmlisp.lisp (QESET): Remove. * algebra/string.spad.pamphlet (String): Don't use QESET. 2010-12-31 Gabriel Dos Reis * interp/g-opt.boot ($VMsideEffectFreeOperators): Include new builtin functions %strlt, %streq, %strcopy, and %strconc. * interp/g-util.boot: Expand them. * algebra/string.spad.pamphlet (String): Remove uses of Lisp-level functions CHAR, EQUAL, CHAR=, ans SXHASH. 2010-12-30 Gabriel Dos Reis * interp/vmlisp.lisp (QSTRING): Remove. (QSTRINGLENGTH): Likewise. (STRINGLENGTH): Likewise. * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %i2s. * interp/g-util.boot: Expand it. * interp/debug.lisp (/LOCATE): Replace STRINGLENGTH with LENGTH. * algebra/fortran.spad.pamphlet: Don't use STRINGIMAGE from Lisp. * algebra/generic.spad.pamphlet: Likewise. * algebra/naalg.spad.pamphlet: Likewise. * algebra/naalgc.spad.pamphlet: Likewise. * algebra/outform.spad.pamphlet: Likewise. * algebra/string.spad.pamphlet: Likewise. 2010-12-29 Gabriel Dos Reis * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %strlength. * interp/g-util.boot: Expand it. * algebra/string.spad.pamphlet (String): Remove use of QCSIZE. 2010-12-27 Gabriel Dos Reis * boot/initial-env.lisp (IDENTP): Remove. * boot/ast.boot: Replace IDENTP with symbol? where appropriate. * boot/parser.boot: Likewise. * boot/translator.boot: Likewise. 2010-12-27 Gabriel Dos Reis * boot/includer.boot (char): Move to token.boot. * boot/tokens.boot (shoeStartsId): Move from initial-env.lisp (shoeIdChar): Likewise. * boot/initial-env.lisp (CHARMEM): Remove. 2010-12-19 Gabriel Dos Reis * algebra/files.spad.pamphlet (KeyedAccessFile): Use try/finally instead of Lisp-level UNWIND-PROTECT. 2010-12-19 Gabriel Dos Reis * interp/vmlisp.lisp (VECP): Remove. (REFVECP): Likewise. (CVECP): Likewise. (QMEMQ): Likewise. * interp/bootlex.lisp (TRANSLABEL1): Adjust. * interp/br-search.boot: Likewise. * interp/br-util.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/category.boot: Likewise. * interp/database.boot: Likewise. * interp/debug.lisp: Likewise. * interp/format.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-cndata.boot: Likewise. * interp/g-util.boot: Likewise. * interp/ggreater.lisp: Likewise. * interp/guess.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-resolv.boot: Likewise. * interp/i-spec2.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/interop.boot: Likewise. * interp/i-util.boot: Likewise. * interp/union.lisp: Likewise. * interp/trace.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/pathname.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/newfort.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/msg.boot: Likewise. * interp/match.boot: Likewise. * interp/word.boot: Likewise. 2010-12-18 Gabriel Dos Reis * boot/translator.boot (BOOTTOCL): Replace Lisp-level contruct with try/finally. (BOOTTOCLC): Likewise. 2010-12-18 Gabriel Dos Reis * boot/initial-env.lisp (SIZE): Remove. (MAKE-VEC): Likewise. (MAKE-CVEC): Likewise. 2010-12-18 Gabriel Dos Reis * boot/initial-env.lisp (VEC-SETELT): Remove. * boot/scanner.boot (shoeIntValue): Tidy. (shoeSubString): Likewise. * boot/tokens.boot (shoeInsert): Likewise. (shoeDictCons): Likewise. 2010-12-15 Gabriel Dos Reis * interp/format.boot (form2String1): Handle string literals masquerading as constructors. 2010-12-15 Gabriel Dos Reis * interp/format.boot: More fixes for confusion between strings and symbols. 2010-12-15 Gabriel Dos Reis * interp/format.boot (formDecl2String): Tidy. * interp/i-toplev.boot (printTypeAndTimeNormal): Likewise. * interp/msgdb.boot (applyPrefix2String): Likewise. 2010-12-15 Gabriel Dos Reis * interp/msgdb.boot (applyPrefix2String): New. (substituteSegmentedMsg): Use to implement documented behaviour of formatting code P. * interp/i-analy.boot (printableArgModeSetList): Don't call prefix2String here. (bottomUpForm0): Likewise. 2010-12-15 Gabriel Dos Reis * boot/tokens.boot: symbolName is now a builtin function. * interp/sys-utility.boot (stringImage): New. * interp/format.boot (form2String1): Use it. Tidy. 2010-12-14 Gabriel Dos Reis * boot/tokens.boot: canonicalFilename is now a builtin function. * interp/sys-driver.boot (executeSpadScript): Announce input file. 2010-12-14 Gabriel Dos Reis * boot/ast.boot (bfQ): Emit STRING= for string comparison. * interp/i-output.boot: Fix type violation in equality comparison. 2010-12-12 Gabriel Dos Reis * boot/ast.boot (bfIS1): Tidy. 2010-12-11 Gabriel Dos Reis * interp/i-syscmd.boot: Use try-finally expression instead of Lisp primitive UNWIND-PROJECT. * interp/int-top.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/server.boot: Likewise. * boot/parser.boot (bpHandler): Allow semicolon separation. 2010-12-11 Gabriel Dos Reis * boot/tokens.boot: `finally' is now a keyword. * boot/parser.boot (bpMissing): Use a BootParserException exception. (bpTrap): Likewise. (bpListAndRecover): Catch them. * boot/parser.boot (shoeOutParse): Likewise. * boot/ast.boot (bfHandlers): Fix thinko. (codeForCatchHandlers): Likewise. 2010-12-11 Gabriel Dos Reis * boot/parser.boot (bpListAndRecover): Use Lisp-level CATCH. (bpTry): Rewrite. (bpTry): Likewise. (bpSimpleCatch): Remove. (bpPiledCatchItems): Likewise. (bpCatchItemList): Likewise. (bpExceptionHead): Likewise. (bpExceptionTail): Likewise. (bpExceptionVariable): New. (bpFinally): Likewise. * boot/ast.boot (%Ast): Add %Pretend and %Finally. %Catch now takes two arguments. (bfTry): Rewrite. (bfThrow): Likewise. (bfHandlers): New. (codeForCatchHandlers): Likewise. * boot/translator.boot (shoeOutParse): Use Lisp-level CATCH. 2010-12-10 Gabriel Dos Reis * boot/ast.boot (bfMmeber): Tidy. * interp/alql.boot: Clean up. * interp/br-con.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-op2.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/br-search.boot: Likewise. * interp/br-util.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/format.boot: Likewise. * interp/g-error.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/mark.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/newfort.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/trace.boot: Likewise. 2010-12-09 Gabriel Dos Reis * interp/vmlisp.lisp (reclaim): Remove duplicate. 2010-12-09 Gabriel Dos Reis * interp/pile.boot: Clean up. 2010-12-08 Gabriel Dos Reis * interp/fnewmeta.lisp: Replace MATCH-ADVANCE-GLYPH with PARSE-GlyphTok. (PARSE-GlyphTok): Now accept string instead of symbol. * interp/parsing.lisp (MATCH-ADVANCE-GLYPH): Remove as redundant. 2010-12-08 Gabriel Dos Reis * interp/fnewmeta.lisp (PARSE-OpenBracket): Tidy. (PARSE-OpenBrace): Likewise. 2010-12-07 Gabriel Dos Reis * algebra/acplot.spad.pamphlet: Fix decimal constant notation. * interp/fnewmeta.lisp: Replace MATCH-ADVANCE-STRING with MATCH-ADVANCE-KEYWORD when matching for keywords. 2010-12-07 Gabriel Dos Reis * interp/compiler.boot (compThrow): Remove niladic type restriction. (compCatch): Tidy. (compTry): Likewise. 2010-12-06 Gabriel Dos Reis Add support for exception handling. * interp/parsing.lisp (TEST-LEXING): Remove. (RTRACE): Likewise. (RUNTRACE): Likewise. (MATCH-ADVANCE-KEYWORD): New. (MATCH-ADVANCE-GLYPH): Likewise. (MATCH-ADVANCE-SPECIAL): Likewise. (MATCH-SPECIAL): Likewise. (MATCH-KEYWORD-NEXT): Likewise. * interp/newaux.lisp: Make try and throw prefix operators. * interp/metalex.lisp (KEYWORDS): Include finally, catch and throw. * interp/fnewmeta.lisp (PARSE-Throw): New. Parse throw-expressions. (PARSE-Catch): New. Parse catch-expressions. (PARSE-Finally): New. Parse finally-expressions. (PARSE-Try): New. Parse try-expressions. * interp/compiler.boot (compThrow): New. Register to compile throw-expressions. (compTry): New. Register to compiler try-expressions. (compCatch): New. Compile catch-handler expression. * interp/g-opt.boot (optTry): New. Simplify simple expressions in the try operand. * interp/g-util.boot (expandThrow): New. Expand %throw forms. (domainMatchCode): New. (expandTry): New. Expand %try forms. * doc/msgs/s2-us.msgs: Add new message with key S2GE0020. * interp/g-error.boot (systemErrorHandler): Handle possible uncaucght expression condition. 2010-12-05 Gabriel Dos Reis * interp/metalex.lisp (KEYWORDS): Include try. * algebra/numode.spad.pamphlet: Change field try to tryValue. * algebra/multsqfr.spad.pamphlet: Change identifier try to tryCount. 2010-12-01 Gabriel Dos Reis * interp/sys-driver.boot (executeSpadScript): Inform the system that we are going to read from a file. * interp/g-error.boot(handleLispBreakLoop): Return to reading from file if that was what were doing. * input/Makefile.in (TESTSYS): Use driver and --test option. (%.output): Simplify. 2010-12-01 Gabriel Dos Reis * interp/sys-driver.boot (executeSpadScript): Handle --test option. * interp/setvars.boot (setOutputAlgebra): Control informative message about algebra stream redirection by $verbose. 2010-12-01 Gabriel Dos Reis * lisp/core.lisp.in (handleCommandLine): Don't export. Rewrite. (RUN-DRIVER): Split from handleCommandLine. 2010-11-30 Gabriel Dos Reis * lisp/core.lisp.in (processCommandLine): Don't export. Rewrite to pull out command line options wherever they are except the ones after "--". (topLevel): Bind *PACKAGE*; don't set it. 2010-11-30 Gabriel Dos Reis * driver/utils.cc: Commonalize some of option handling code. 2010-11-30 Gabriel Dos Reis Fix SF/2110371 * interp/i-toplev.boot (recordAndPrint): Tidy. (SpadInterpretFile): Move to int-top.boot. * interp/int-top.boot (ncINTERPFILE): Simplify. (ncloopPrintLines): Output onto the standard output stream. (ncloopIncFileName): Issue diagnostic on error output stream. * interp/setvars.boot (setOutputAlgebra): Fix thinko. (setStandardOutputToAlgebraStream): New. * interp/sys-driver.boot (executeSpadScript): Use it. Set verbosity level as appropriate. Redirect output if requested. 2010-11-29 Gabriel Dos Reis * etc/Makefile.in: Use the driver. * driver/utils.c (get_suffix): New. (option_value): Likewise. (preprocess_arguments): Handle --translate and --build-databases. * driver/main.c (upgrade_environment): Change argument type to Command. Upgrade LD_LIBRARY_PATH too. * boot/translator.boot (loadSystemRuntimeCore): Don't prefix the shared library file name with the system path. 2010-11-28 Gabriel Dos Reis * clef/: Add using directive at toplevel. * etc/: Likewise. * graph/: Likewise. * hyper/: Likewise. * lib/: Likewise. * sman/: Likewise. * Makefile.am (OA_SMAN_TARGETS): New. (OA_GRAPHICS_TARGETS): Likewise. (all-lisp): Require all-driver. * driver/utils.c: Tidy. * driver/utils.h: Likewise. * sman/sman.c: Likewise. 2010-11-27 Gabriel Dos Reis * lib/Makefile.in: Build libopen-axiom-core and libspad with a C++ compiler and linker. * lib/bsdsignal.c: Fix C calling convention annotation. * lib/cfuns-c.c: Likewise. * lib/edin.c: Likewise. * lib/sockio-c.c: Likewise. * include/bsdsignal.h: Remove 'extern "C"'-block annotation. * include/cfuns.h: Likewise. * include/cursor.h: Likewise. * include/edin.h: Likewise. * include/fnct_key.h: Likewise. * include/halloc.h: Likewise. * include/hash.h: Likewise. * include/openpty.h: Likewise. * include/pixmap.h: Likewise. * include/prt.h: Likewise. * include/sockio.h: Likewise. * include/spadcolors.h: Likewise. * include/util.H1: Likewise. * include/view.h: Likewise. * include/wct.h: Likewise. * include/open-axiom.h (OPENAXIOM_C_CALL): New macro. (OPENAXIOM_C_EXPORT): Likewise. 2010-11-27 Gabriel Dos Reis * lisp/Makefile.in: Link the basic core with a C++ compiler when GCL or ECL. * lisp/core.lisp.in: Implement appropriate change. 2010-11-27 Gabriel Dos Reis * etc/Makefile.in: Compile and link with a C++ compiler. * etc/asq.c.pamphlet: Fix bogus declarations of standard functions. Fix const-correctness for string literals. 2010-11-27 Gabriel Dos Reis * lisp/Makefile.in (GCL_LTCC): Specify the tag. (GCL_LTLD): Likewise. 2010-11-27 Gabriel Dos Reis * Makefile.am: Automake Makefile.in. * Makefile.in: Regenerate. 2010-11-19 Gabriel Dos Reis * driver/utils.c (openaxiom_allocate_argv): New. (openaxiom_build_rts_options): Use it. Tidy. Handle Clozure CL and CLISP. 2010-11-16 Gabriel Dos Reis * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %s2c builtin. * interp/g-util.boot (stringToChar): New. (expandCst): Use it. (expandS2c): Likewise. New. * interp/spad.lisp (|$Newline): Move to interp/sys-macros.lisp. * interp/sys-macros.lisp (|$Backspace): New. (|$HorizontalTab|): Likewise. (|$VerticalTab|): Likewise. (|$FormFeed|): Likewise. (|$CarriageReturn|): Likewise. * algebra/string.spad.pamphlet (Character) [newline]: New. [carriageReturn]: Likewise. [linefeed]: Likewise. [formfeed]: Likewise. [backspace]: Likewise. [horizontalTab]: Likewise. [verticalTab]: Likewise. [char]: Tidy. 2010-11-04 Gabriel Dos Reis * interp/Makefile.pamphlet: Remove. * algebra/Makefile.pamphlet: Likewise. * input/Makefile.pamphlet: Likewise. 2010-11-01 Gabriel Dos Reis * Makefile.pamphlet: Remove. 2010-11-01 Gabriel Dos Reis * lisp/Makefile.in ($(OUT)/lisp$(EXEEXT)): Remove GCL-specific hack for rsym. 2010-10-28 Gabriel Dos Reis * interp/c-util.boot: Cleanup. 2010-10-27 Gabriel Dos Reis * interp/c-util.boot (makeCommonEnvironment): Use list node pointer comparaison, not object comparaison. 2010-10-27 Gabriel Dos Reis * algebra/boolean.spad.pamphlet (BooleanLogic) [~]: Add defaut. 2010-10-27 Gabriel Dos Reis * algebra/boolean.spad.pamphlet (BooleanLogic): Extends Logic. 2010-10-27 Gabriel Dos Reis * algebra/boolean.spad.pamphlet (Logic): Now extend Type. 2010-09-11 Gabriel Dos Reis * utils/sexpr.H (Token::character): New token type. (Character): New. (Syntax::Visitor::visit): Overload for Character. (Allocator::make_character): Declare. (Parser::parse_character): Likewise. * utils/sexpr.cc (operator<<) [Token::character]: Print data for character token. (Lexer::tokenize): Recognize a character literal. (Parser::parse_character): Define. 2010-09-07 Gabriel Dos Reis * interp/c-util.boot (massageBackendCode): Remove conditional on $NEWSPAD since it always true. Keep note of Lisp-level special variable even if it is set with SETQ. (transformToBackendCode): Declare special variables before fluid and local variables. * interp/compiler.boot: Don't compile SETQ forms as if they were Spad codes. 2010-08-28 Gabriel Dos Reis * utils/Makefile.in ($(oa_target_oalib)): Create contaning directory if necessary. * utils/storage.H (Memory::Factory): New. Allocate, construct, and destroy objects. * utils/sexpr.H (Sexpr::Allocator): Use Memory::Factory. * utils/sexpr.cc: Adjust implementation. 2010-08-26 Gabriel Dos Reis * utils/Makefile.in: Install libOpenAxiom.a * driver/main.c (print_configuration_info): New. (main): Handle --config. * driver/utils.c (openaxiom_build_rts_options): Likewise. * driver/utils.h (openaxiom_config_driver): New driver enumerator. 2010-08-26 Gabriel Dos Reis * utils/Makefile.in: Install headers. 2010-08-25 Gabriel Dos Reis 2010-08-25 Gabriel Dos Reis * interp/i-output.boot (newlineIfDisplaying): New. (mathprintWithNumber): Take type of value as second argument. (maprinChk): Tidy. (maprinRows): Likewise. (spadPrint): Likewise. (output): Likewise. (printMap): Likewise. (bracketagglist): Likewise. (mathPrint): Likewise. (mathPrint1): Likewise. * interp/i-toplev.boot (recordAndPrint): Likewise. * interp/setvart.boot: Introduce flag for asgard forms. 2010-08-24 Gabriel Dos Reis * interp/br-saturn.boot ($saturn): Define here. * interp/br-search.boot: Remove $saturn-related codes. * interp/g-error.boot: Likewise. * interp/ht-root.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/patches.lisp: Likewise. 2010-08-22 Gabriel Dos Reis * algebra/openmath.spad.pamphlet (outputOMFunction): Coerce symbol to string for error display. 2010-08-22 Gabriel Dos Reis * algebra/e04Package.spad.pamphlet (goodnessOfFit): Add explicit package call to ErrorFunctions. 2010-08-21 Gabriel Dos Reis * interp/compiler.boot (getBootType): Prefix Mapping with %. (checkExternalEntity): Likewise. Do same with Signature. 2010-08-20 Gabriel Dos Reis * Makefile.pamphlet (all-interpsys): Require all-utils. (all-asq): Likewise. (all-utils): New tule. * algebra/Makefile.pamphlet: Replace $(axiom_build_document) with $(oa_hammer). * etc/Makefile.in: Likewise. * graph/Makefile.in: Likewise. * input/Makefile.pamphlet: Likewise. * interp/Makefile.pamphlet: Likewise. * utils/: New component. 2010-08-17 Gabriel Dos Reis * ChangeLog.jap: Merge into here. Remove 2010-08-17 Gabriel Dos Reis * hyper/htsearch.cc: Rename from htsearch.c to avoid confusions. 2010-08-17 Gabriel Dos Reis * hyper/htsearch.c: Tidy. 2010-08-17 Gabriel Dos Reis * hyper/Makefile.in (${OUTLIB}/htsearch$(EXEEXT)): Link with a C++ compiler. 2010-07-25 Alfredo Portes * src/lib/cfuns-c.c: (oa_insert) Change return value. Misc cleanup. * src/include/cfuns.h: Adjust. 2010-07-12 Alfredo Portes * src/hyper/Makefile.in: Adjust. * src/hyper/htsearch.c: Add more documentation. * src/lib/cfuns-c.c: Add String manipulation functions. 2009-07-16 Alfredo Portes * lib/cfuns-c.c: New string manipulation functions. * include/cfuns.h: Likewise. * hyper/htsearch.c: Add new C replacement for htsearch and presea scripts. * hyper/htsearch: Remove. * hyper/presea.in: Remove. * hyper/Makefile.in: Adjust. 2010-08-15 Gabriel Dos Reis * algebra/float.spad.pamphlet (Float): Tidy. * algebra/limitps.spad.pamphlet (ElementaryFunctionSign): Likewise. * algebra/view2D.spad.pamphlet (TwoDimensionalViewport): Likewise. * algebra/view2D.spad.pamphlet (ThreeDimensionalViewport): Likewise. 2010-08-14 Gabriel Dos Reis * lib/Makefile.in (libopen-axiom-core.$(LIBEXT)): Use LINK. (libspad.$(LIBEXT)): Likewise. (%.$(OBJEXT) %.lo): Honor CFLAGS. 2010-08-08 Gabriel Dos Reis * hyper/ex2ht.c (strPrefix): Be const-correct. * hyper/htinp.c (get_graph_output): Likewise. (print_paste): Likewise. (print_graph_paste): Likewise. * hyper/initx.c (get_color): Likewise. * hyper/keyin.c (handle_key): Likewise. * hyper/lex.c (token_table): Likewise. * hyper/macro.c (number): Likewise. * hyper/mem.c (alloc_page): Likewise. * hyper/parse-aux.c (make_special_page): Likewise. (is_number): Likewise. * hyper/parse-types.c (errmess): Likewise. * lib/sockio-c.c (oa_socket_read): Cast to second argument to appropriate type. (oa_socket_read_byte): Likewise. 2010-08-01 Aleksej Saushev * hyper/event.c: Include before other system headers. * hyper/hyper.c: Likewise. 2010-07-29 Gabriel Dos Reis * clef/Makefile.in: Build and link programs by a C++ compiler. * clef/edible.c: Make it acceptable to a C++ compiler. * driver/utils.c: Likewise. * sman/sman.c: Likewise. 2010-07-29 Gabriel Dos Reis * lib/XSpadFill.c: Tidy. * lib/pixmap.c: Likewise. * lib/spadcolors.c: Likewise. * include/ReadBitmap.H1: Remove. * include/all_hyper_proto.H1: Likewise. * include/cond.H1: Likewise. * include/cursor.H1: Likewise. * include/dialog.H1: Likewise. * include/display.H1: Likewise. * include/event.H1: Likewise. * include/extent1.H1: Likewise. * include/extent2.H1: Likewise. * include/form_ext.H1: Likewise. * include/group.H1: Likewise. * include/htinp.H1: Likewise. * include/hyper.H1: Likewise. * include/initx.H1: Likewise. * include/input.H1: Likewise. * include/item.H1: Likewise. * include/keyin.H1: Likewise. * include/macro.H1: Likewise. * include/mem.H1: Likewise. * include/parse.H1: Likewise. * include/parse_aux.H1: Likewise. * include/parse_input.H1: Likewise. * include/parse_paste.H1: Likewise. * include/parse_types.H1: Likewise. * include/scrollbar.H1: Likewise. * include/show_types.H1: Likewise. * include/spadcolors.H1: Likewise. * include/spadint.H1: Likewise. * include/titlebar.H1: Likewise. * hyper/Makefile.in: Compile and Link with a C++ compiler. * hyper/ReadBitmap.c: Make it acceptable to a C++ compiler. * hyper/cond.c: Likewise. * hyper/dialog.c: Likewise. * hyper/display.c: Likewise. * hyper/display.h: Likewise. * hyper/event.c: Likewise. * hyper/event.h: Likewise. * hyper/extent.h: Likewise. * hyper/extent1.c: Likewise. * hyper/extent2.c: Likewise. * hyper/form-ext.c: Likewise. * hyper/group.c: Likewise. * hyper/group.h: Likewise. * hyper/htadd.c: Likewise. * hyper/htinp.c: Likewise. * hyper/hyper.c: Likewise. * hyper/hyper.h: Likewise. * hyper/initx.c: Likewise. * hyper/initx.h: Likewise. * hyper/input.c: Likewise. * hyper/item.c: Likewise. * hyper/keyin.h: Likewise. * hyper/keyin.c: Likewise. * hyper/macro.c: Likewise. * hyper/mem.c: Likewise. * hyper/parse-aux.c: Likewise. * hyper/parse-input.c: Likewise. * hyper/parse-paste.c: Likewise. * hyper/parse-paste.h: Likewise. * hyper/parse-types.h: Likewise. * hyper/parse-types.c: Likewise. * hyper/parse.h: Likewise. * hyper/parse.c: Likewise. * hyper/scrollbar.c: Likewise. * hyper/scrollbar.h: Likewise. * hyper/show-types.c: Likewise. * hyper/spadint.c: Likewise. * hyper/titlebar.c: Likewise. * hyper/titlebar.h: Likewise. * graph/view3D/smoothShade3d.c: Include spadcolors.h * graph/view3D/stuff3d.c: Likewise. * graph/include/view.h (saymem): #undef before #define. * graph/view2D/write2d.c: Include pixmap.h. * graph/view3D/process3d.c: Likewise. * graph/view3D/write3d.c: Likewise. * graph/view3D/header.h: Remove macro definition for endColor and colorStep. * include/bsdsignal.h: Remove. * include/edin.H1: Likewise. * include/fnct_key.H1: Likewise. * include/halloc.h: Likewise. * include/hash.h: Likewise. * include/prt.H1: Likewise. * include/rgb.H1: Likewise. * include/sockio.h: Likewise. * include/util.h: Likewise. * include/pixmap.h: Rename from pixmap.H1 2010-07-29 Gabriel Dos Reis * algebra/sf.spad.pamphlet (DoubleFloat): Use builtin trigonometric functions. * interp/g-opt.boot ($VMsideEffectFreeOperators): Include them. * interp/g-util.boot: Expand them. * include/edible.H1: Move declarations to clef/edible.c. Remove. * driver/utils.h: Give G linkage to declarations. * sman/Makefile.in: Link programs against C++ runtime. 2010-07-29 Gabriel Dos Reis * driver/main.c (main): Add explicit conversion to openaxiom_spawn_flags. * driver/utils.c (openaxiom_execute_core): The system want the excepath to be writable. * driver/Makefile.in (%.lo): Compile source programs as C++ programs. (open-axiom$(EXEEXT)): Link as a C++ program. 2010-07-29 Gabriel Dos Reis * interp/c-util.boot (removeToplevelRETURN_-FROM): New. (transformToBackendCode): Use it to clean function body. 2010-07-28 Gabriel Dos Reis * interp/spad.lisp (DIVIDE2): Remove. * interp/vmlisp.lisp (QSQUOTIENT): Likewise. (QSREMAINDER): Likewise. * interp/buildom.boot: Use quo and rem in leur of QUOTIENT and REMAINDER or variants. * interp/g-timer.boot: Likewise. * interp/g-util.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/i-output.boot: Likewise. * interp/incl.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/nrungo.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/topics.boot: Likewise. 2010-07-28 Gabriel Dos Reis * interp/sys-globals.boot ($VariableCount): Remove. * interp/spad.lisp (QUOTIENT2): Remove. (REMAINDER2): Likewise. * algebra/integer.spad.pamphlet (Integer): Use builtin %idivide. * algebra/si.spad.pamphlet (SingleInteger): Likewise. 2010-07-28 Gabriel Dos Reis * algebra/integer.spad.pamphlet (Integer): Use builtin functions %irem and %iquo. * algebra/si.spad.pamphlet (SingleInteger): Likewise. 2010-07-27 Gabriel Dos Reis * interp/g-opt.boot: Transform %iquo and %irem expressions. ($VMsideEffectFreeOperators): Include %irem and %iquo. 2010-07-27 Gabriel Dos Reis * boot/tokens.boot: quo and rem are now keywords and infix operators. * boot/parser.boot (bpEuclid): New. Parse integer quotient and remainder expressions. (bpMinus): Now build on bpEuclid instead of bpTimes. 2010-07-27 Gabriel Dos Reis * interp/i-analy.boot (bottomUpCompile): Use massageBackendCode in lieu of mutateToBackendCode. 2010-07-27 Gabriel Dos Reis * interp/types.boot (%Code): Include %Char. * interp/c-util.boot (middleEndExpand): Temporarilty Comment out signature. 2010-07-26 Gabriel Dos Reis * interp/g-opt.boot (optCond): Work harder at denesting nested if-expressions. 2010-07-26 Gabriel Dos Reis * interp/g-opt.boot ($VMsideEffectFreeOperators): Include new opcodes %icst0, %icst1, %when, and %ccst. * interp/g-util.boot: Expand %ccst. * algebra/alql.spad.pamphlet: Clean up. * algebra/array1.spad.pamphlet: Likewise. * algebra/c02.spad.pamphlet: Likewise. * algebra/d03.spad.pamphlet: Likewise. * algebra/e04.spad.pamphlet: Likewise. * algebra/integer.spad.pamphlet: Likewise. * algebra/si.spad.pamphlet: Likewise. * algebra/string.spad.pamphlet: Likewise. 2010-07-26 Gabriel Dos Reis * algebra/si.spad.pamphlet (SingleInteger): Tidy. * interp/g-opt.boot (simplifyVMForm): Expand %icst0 and %icst1. (optIlt): Fold more configurations. 2010-07-25 Gabriel Dos Reis * interp/g-opt.boot (optCond): Simplify newly built COND-expression. 2010-07-25 Gabriel Dos Reis * interp/g-opt.boot (optimize): Remove as no longer used. * interp/define.boot (DomainSubstitutionFunction): Use simplifyVMForm in lieu of optimize. * interp/nruncomp.boot (NRTsetVector4a): Likewise. 2010-07-25 Gabriel Dos Reis * interp/g-opt.boot (oprCond): Replace use of TruthP with direct comparison to %true. 2010-07-25 Gabriel Dos Reis * interp/g-opt.boot (optCall): Don't call optimize again. (optCallSpecially): Remove deadcode. 2010-07-25 Gabriel Dos Reis * interp/g-opt.boot (simplifyVMForm): Don't call optimize. (optCall): Handle VM macro expansions here. 2010-07-25 Gabriel Dos Reis * interp/g-opt.boot (resetTo): New. (optCatch): Use it. (optCall): Likewise. (optSpecialCall): Likewise. (simplifyVMForm): Handle simple cases here. * interp/macros.lisp (RPLACW): Remove. 2010-07-24 Gabriel Dos Reis * interp/g-opt.boot (optIadd): More simplification if either operand is zero. (optIsub): Likewise. (optImul): More simplifications if either operand is one. 2010-07-24 Gabriel Dos Reis * interp/c-util.boot (usedSymbol?): Move to g-util.boot. * interp/nruncomp.boot (NRTsetVector4a): Tidy. 2010-07-24 Gabriel Dos Reis * interp/cattable.boot: Use %true for truth value in VM expressions. * interp/clam.boot: Likewise. * interp/define.boot: Likewise. * interp/format.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/mark.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/slam.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise. * interp/sys-constants.boot: Remove $true and $false as unused. 2010-07-23 Gabriel Dos Reis * interp/compiler.boot (compMatchAlternative): Don't generate LET-expressions. * interp/g-opt.boot (optBind): Tidy. 2010-07-23 Gabriel Dos Reis * interp/g-opt.boot (optBind): Check for dependencies in initializations in %bind expressions. * interp/g-util.boot (expandBind): The body of s %bind expression may be a sequence of statements. 2010-07-23 Gabriel Dos Reis * interp/g-util.boot: Remove expansion for %ble, %bgt, %bge. * interp/g-opt.boot (optMINUS): Remove. (opt_-): Likewise. (optBle): New. (optBgt): Likewise. (optBge): Likewise. 2010-07-22 Gabriel Dos Reis * interp/g-util.boot (expandFeq): New. * algebra/sf.spad.pamphlet (DoubleFloat): Tidy. 2010-07-22 Gabriel Dos Reis * interp/g-util.boot (expandIeq): New expander for %ieq. * interp/g-opt.boot (optIeq): New. (optIadd): Likewise. (optIsub): Likewise. (optImul): Likewise. (optIneg): Likewise. (lispize): Remove. 2010-07-22 Gabriel Dos Reis * interp/g-opt.boot (simplifyVMForm): New. (optRetract): Simplify the predicate when possible. (optNot): New transformer. (optAnd): Likewise. (optOr): Likewise. (optIlt): Likewise. (optIle): Likewise. (optIgt): Likewise. (optIge): Likewise. 2010-07-21 Gabriel Dos Reis * algebra/data.spad.pamphlet (Byte) [~]: Tidy. (SystemNonNegativeInteger) [~]: Likewise. * interp/g-util.boot: Better expansion of byte operations. 2010-07-19 Gabriel Dos Reis * interp/g-opt.boot ($VMsideEffectFreeOperators): Include byte relation operators and bitmakst operators. * interp/g-util.boot: Expand them. * algebra/data.spad.pamphlet (Byte): Now satisfies Logic. Tidy. (SystemNonNegativeInteger): Likewise. * algebra/java.spad.pamphlet (JVMBytecode): Rename from JavaBytecode. (JVMClassFileAccess): New. (JVMFieldAccess): Likewise. (JVMMethodAccess): Likewise. (JVMConstantTag): Likewise. (JVMOpcode): Likewise. 2010-07-18 Gabriel Dos Reis * boot/tokens.boot: Add char? as builtin function. * interp/i-output.boot (appChar): Fix thinko. (outformWidth): Likewise. (WIDTH): Likewise. 2010-07-13 Gabriel Dos Reis * interp/g-opt.boot: %sname is a side-effect free operator. * interp/g-util.boot: Expand it. * algebra/syntax.spad.pamphlet (Identifer): Now satisfies CoercibleTo String. 2010-07-11 Gabriel Dos Reis * interp/database.boot (markUnique): Remove. ($FunctionDescriptorTail): Likewise. (getOperationAlistFromLisplib): Likewise. (getOplistForConstructorForm): Adjust. * interp/br-op1.boot (getDomainOpTable): Likewise. * interp/br-op2.boot (koOps): Likewise. * interp/define.boot (genDomainViewList): Likewise. * interp/i-analy.boot (namedConstant): Likewise. * interp/i-coerce.boot (getConstantFromDomain): Likewise. * interp/i-funsel.boot (isOpInDomain): Likewise. (findCommonSigInDomain): Likewise. (findUniqueOpInDomain): Likewise. (hasSig): Likewise. * interp/i-spec2.boot (constantInDomain?): Likewise. * interp/trace.boot (spadTrace): Likewise. * interp/lisplib.boot (transformOperationAlist): Simplify. 2010-07-10 Gabriel Dos Reis * interp/database.boot (addConsDB): Remove. (getOperationAlistFromLisplib): Don't call it. * interp/sys-driver.boot (initializeGlobalState): Remove kludge. * interp/util.lisp (BUILD-INTERPSYS): Likewise. 2010-07-10 Gabriel Dos Reis * interp/database.boot (addConsDB): Move from mapConsDB. * interp/nruncomp.boot (mapConsDB): Remove. (catList2catPackageList): Likewise. 2010-07-10 Gabriel Dos Reis * interp/functor.boot (setVector4): Remove. Deadcode. (setVector4Onecat): Likewise. (setVector4part3): Likewise. * interp/nruncomp.boot (NRTsetVector4): Likewise. (NRTsetVector4Part2): Likewise. (mergeAppend): Likewise. * interp/define.boot (compDefineFunctor1): Remove assignment to unused $lisplibCategoriesExtented. * interp/lisplib.boot (compDefineLisplib): Likewise. * interp/wi1.boot (compDefineLisplib): Likewise. * interp/wi2.boot (compDefineFunctor1): Likewise. 2010-07-10 Gabriel Dos Reis * interp/nruncomp.boot (buildFunctor): Remove deadcode. 2010-07-10 Gabriel Dos Reis * interp/sys-utility.boot (minimalise): Move from compress.boot. Rewrite local worker to use explicit hash table parameter instead of special variable. * interp/compress.boot (minimalise): Move to sys-utility.boot. Delete file. * interp/nruncomp.boot (buildFunctor): Don't bother to minimalise. 2010-07-09 Gabriel Dos Reis * interp/sys-constants.boot ($noEnv): Remove. * interp/info.boot (actOnInfo): Adjust. 2010-07-09 Gabriel Dos Reis * interp/functor.boot (SetFunctionSlots): Simplify. The outer loop was executed only once. 2010-07-05 Gabriel Dos Reis * interp/compiler.boot (compTopLevel): Bind $whereDecls. (recordDeclarationInSideCondition): New. Update it. (compWhere): Call it. * interp/define.boot ($whereDecls): Define at toplevel. (typeDependencyPath): New. (inferConstructorImplicitParameters): Likewise. (compDefineFunctor1): Use it. 2010-07-03 Gabriel Dos Reis * interp/category.boot (isCategoryForm): Tidy. * interp/compiler.boot (compMacro): Handle parameterized definition. * interp/define.boot (macroExpand): Likewise. (macroExpandList): Move case for niladic macros to macroExpand. * interp/g-util.boot (putMacro): New utility function. 2010-07-03 Gabriel Dos Reis * interp/define.boot (macroExpand): Tidy. Only identifiers are allowed to be macro names. 2010-07-03 Gabriel Dos Reis * algebra/vector.spad.pamphlet (DualBasis): New. (LinearBasis): Likewise. (LinearElement): Use them. (LinearForm): New. 2010-07-01 Gabriel Dos Reis * interp/define.boot (registerInlinableDomain): New. (compAdd): Use it to promote base domains for inlining. * interp/c-util.boot (lookupFunctionInstance): Foeld into lookupDefiningFunction. Remove. (lookupDefiningFunction): Evaluate only system domains to avoid cycles. 2010-06-30 Gabriel Dos Reis * interp/c-util.boot (giveVariableSomeValue): New. * interp/compiler.boot (setqMultiple): Use it. (compColon): Likewise. (compRetractGuard): Likewise. (compRecoverDomain): Likewise. (defineMatchScrutinee): Likewise. (compStepIterator): Likewise. (compIterator): Likewise. (compUnnamedMapping): Likewise. * interp/define.boot (giveFormalParametersValues): Likewise. * interp/wi1.boot (setqMultiple): Likewise. * interp/wi2.boot (compIterator): Likewise. (smallIntegerStep): Likewise. 2010-06-30 Gabriel Dos Reis * algebra/vector.spad.pamphlet (LinearElement): New. 2010-06-30 Gabriel Dos Reis * interp/c-util.boot (getRepresentation): Tidy. * interp/define.boot (checkRepresentation): Don't compile the base domain here yet. 2010-06-29 Gabriel Dos Reis * algebra/indexedp.spad.pamphlet (IndexedDirectProductObject) [indexedDirectProductObject]: New. (IndexedDirectProductAbelianMonoid): Rework implementation. [construct]: Likewise. 2010-06-29 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (OrderedType): New. 2010-06-29 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (BasicType) [before?]: Declare here. (OrderedType) [max,min]: Export and provide defaults. (OrderedSet): Simplify. (SetCategory) [before?]: Move to BasicType. 2010-06-28 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (OrderedType): New category. Extend BasicType. 2010-06-28 Gabriel Dos Reis * algebra/indexedp.spad.pamphlet (IndexedDirectProductCategory) [terms]: Rename from support. 2010-06-28 Gabriel Dos Reis * algebra/indexedp.spad.pamphlet (IndexedDirectProductCategory): Rework implementation. 2010-06-28 Gabriel Dos Reis * algebra/indexedp.spad.pamphlet (IndexedDirectProductCategory) [support]: New. (IndexedDirectProductObject): Implement. 2010-06-28 Gabriel Dos Reis * interp/sys-constants.boot ($SystemInlinableConstructorNames): Include Pair. 2010-06-28 Gabriel Dos Reis * interp/slam.boot (clearCache): Use reallyClearLocalModemaps to remove local modemaps.Likewise. (clearLocalModemaps): Likewise. Tidy. (reallyClearLocalModemaps): New. Remove dynamically generated function definition for internal Lisp-level functions. 2010-06-28 Gabriel Dos Reis * interp/i-map.boot (findExternalVarsInBindExpr): New. (findLocalVars1): Use it for %bind-expressions. 2010-06-27 Gabriel Dos Reis * interp/g-util.boot: Add new opcode %before?. * interp/g-opt.boot ($VMsideEffectFreeOperators): Include it. 2010-06-27 Gabriel Dos Reis * algebra/matcat.spad.pamphlet (MatrixCategory) [matrix]: Add overload that takes sizes and function to compute entries. 2010-06-27 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (LinearlyExplicitRingOver) [leftReducedSystem]: Rename from reducedSystem. 2010-06-26 Gabriel Dos Reis * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %vref and %vlength. * interp/g-util.boot: Expand them. * algebra/array1.spad.pamphlet (PrimitiveArray): Use them. (IndexedOneDimensionalArray): Likewise. 2010-06-26 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet (HomogeneousAggregate): Satisfy BasicType if element type satisfies it. 2010-06-26 Gabriel Dos Reis * algebra/string.spad.pamphlet (StringCategory): Remove. (String): Adjust. 2010-06-25 Gabriel Dos Reis * interp/g-util.boot: Expand %f2s. * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %f2s. * algebra/string.spad.pamphlet (StringCategory) [string]: Add overload DoubleFloat -> %. (String): Define it. 2010-06-25 Gabriel Dos Reis * interp/compiler.boot (compString): Remove as unused. * interp/mark.boot (compString): Likewise. * algebra/string.spad.pamphlet (StringCategory): Remove obsolete comments. Remove redundant SetCategory extension. 2010-06-25 Gabriel Dos Reis * interp/g-opt.boot: Rename %eq to %peq for pointer comparaison. * 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-24 Gabriel Dos Reis * interp/c-util.boot (expandableDefinition?): Try to make it a forwarding function if possible. 2010-06-24 Gabriel Dos Reis * algebra/outform.spad.pamphlet: Cleanup. * algebra/polycat.spad.pamphlet: Likewise. * algebra/sregset.spad.pamphlet: Likewise. 2010-06-24 Gabriel Dos Reis * interp/c-util.boot: Cleanup. * interp/compiler.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/mark.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise. 2010-06-23 Gabriel Dos Reis * interp/sys-constants.boot ($SystemInlinableConstructorNames): Include Maybe. 2010-06-23 Gabriel Dos Reis * interp/nruncomp.boot (optDeltaEntry): Don't optimize current 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 Gabriel Dos Reis Group sequence of LETT definitions into LET/LET* expressions where 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-21 Gabriel Dos Reis * interp/c-util.boot (middleEndExpand): Give it another macro expansion pass after new opcode expansion. 2010-06-21 Gabriel Dos Reis * interp/nlib.lisp (COMPILE-LIB-FILE): Rework. Halt compilation if generated is malformed or contains serious warnings. * algebra/pfo.spad.pamphlet (PointsOfFiniteOrder) [cmult]: Merge local conditional definitions. * algebra/permgrps.spad.pamphlet (PermutationGroup) [cosetRep]: Don't forget to return a value. * algebra/newpoly.spad.pamphlet (RecursivePolynomialCategory) [exactQuo]: Merge conditional local definitions. [ZToR]: Inline at sole use point. Remove conditional definitions. [QToR]: Likewise. [PZToPR]: Likewise. [PQToPR]: Likewise. * algebra/naalgc.spad.pamphlet (FramedNonAssociativeAlgebra) [leftRankPolynomial]: Initialize local variable xx. (rightRankPolynomial): Likewise. * algebra/multsqfr.spad.pamphlet (MultivariateSquareFree) [intChoose]: Error if no solution is found in the loop. * algebra/mts.spad.pamphlet (SparseMultivariateTaylorSeries): Tidy. [stream] Remove duplicate definition. * algebra/d01routine.spad.pamphlet (d01anfAnnaType) [measure]: Tidy. (d01asfAnnaType) [measure]: Likewise. * algebra/d01transform.spad.pamphlet (d01TransformFunctionType) [measure]: Likewise. * algebra/forttyp.spad.pamphlet (FortranScalarType) [coerce]: Likewise. 2010-06-20 Gabriel Dos Reis * algebra/sgcf.spad.pamphlet (SymmetricGroupCombinatoricFunctions) [listYoungTableaus]: Fix thinko. Don't use lattice in its own initialization. 2010-06-20 Gabriel Dos Reis * interp/g-opt.boot (changeVariableDefinitionToStore): New. (optimizeFunctionDef): Use it. 2010-06-20 Gabriel Dos Reis * interp/compiler.boot (massageLoop): New. (compRepeatOrCollect): Use it to generate appropriate %loop forms. Bind new special variable $mayHaveFreeIteratorVariables. (complainIfShadowing): Set it as appropriate. 2010-06-20 Gabriel Dos Reis * boot/tokens.boot (readOnly?): New builtin Boot function. * interp/c-util.boot (isLispSpecialVariable): Tidy. (transformToBackendCode): Likewise. 2010-06-18 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (LinearlyExplicitRingOver) [reducedSystem]: Add overload. * algebra/si.spad.pamphlet (SingleInteger)[reducedSystem]: Tidy. 2010-06-18 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (LeftLinearSet): Remove declaration for 0 and zero? (RightLinearSet): Likewise. 2010-06-18 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (DifferentialModule): Tidy. (DifferentialModuleExtension): Likewise. (PartialDifferentialModule): New. 2010-06-18 Gabriel Dos Reis * algebra/fparfrac.spad.pamphlet (FullPartialFractionExpansion): Now satisfies DifferentialSpace. * algebra/gseries.spad.pamphlet (GeneralUnivariatePowerSeries): Now satisfies an instance of PartialDifferentialDomain. * algebra/laurent.spad.pamphlet (UnivariateLaurentSeries): Likewise. * algebra/puiseux.spad.pamphlet (UnivariatePuiseuxSeries): Likewise. * algebra/suls.spad.pamphlet (SparseUnivariateLaurentSeries): Likewise. * algebra/supxs.spad.pamphlet (SparseUnivariatePuiseuxSeries): Likewise. * algebra/suts.spad.pamphlet (SparseUnivariateTaylorSeries): Likewise. * algebra/taylor.spad.pamphlet (UnivariateTaylorSeries): Likewise. 2010-06-18 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (DifferentialExtension): Now extends DifferentialSpaceExtension. 2010-06-17 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (DifferentialSpaceExtension): New. (DifferentialModuleExtension): Likewise. 2010-06-17 Gabriel Dos Reis * algebra/vector.spad.pamphlet (DirectProductCategory): Extend AbelianMonoid if element type satisfies AbelianMonoid. Extend AbelianGroup if element type satisfies AbelianGroup. Extend Module R if R satisfies CommutativeRing; remove bogus Algebra R and CommutativeRing extension. 2010-06-17 Gabriel Dos Reis * algebra/strap/DIFRING-.lsp: Remove. 2010-06-17 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (PartialDifferentialSpace): New. (PartialDifferentialRing): Now extend PartialDifferentialSpace. 2010-06-16 Gabriel Dos Reis * algebra/vector.spad.pamphlet (DirectProductCategory): Extend LinearSet if the coefficient type satifies Monoid. Remove previous bogus extension of Monoid. Similarly, extend OrderedSet if the element type satisfies OrderedSet. Remove previous bogus extension of OrderedRing. 2010-06-16 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (LeftLinearSet): Weaken requirement on argument. (RightLinearSet): Likewise. (LinearSet): Likewise. 2010-06-16 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (DifferentialModule): New. (PartialDifferentialDomain): Likewise. 2010-06-16 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (DifferentialRing): Now extends DifferentialSpace. 2010-06-15 Gabriel Dos Reis * algebra/dpolcat.spad.pamphlet (DifferentialVariableCategory): Extend DifferentialSpace. 2010-06-15 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (DifferentialSpace): New. 2010-06-14 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (LinearlyExplicitRingOver): Now extends LeftModule R. [reducedSystem: Vector % -> Matrix R]: New overload. * algebra/lindep.spad.pamphlet (LinearDependence): Additionally require Ring on the second parameter. (IntegerLinearDependence): Add similar requirement on the parameter. 2010-06-13 Gabriel Dos Reis * Partially revert previous change. 2010-06-13 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (DifferentialRing): Now extends DifferentialDomain. (DifferentialExtension): Check parameter for only DifferentialDomain. * algebra/dpolcat.spad.pamphlet (DifferentialPolynomialCategory): Likewise. * algebra/lodop.spad.pamphlet (OppositeMonogenicLinearOperator): Likewise. 2010-06-13 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (DifferentialDomain): New. 2010-06-13 Gabriel Dos Reis * algebra/laurent.spad.pamphlet (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-13 Gabriel Dos Reis * algebra/generic.spad.pamphlet (GenericNonAssociativeAlgebra)[generic]: Fix thinko. 2010-06-13 Gabriel Dos Reis * algebra/array1.spad.pamphlet (IndexedFlexibleArray) [merge!]: Tidy. * algebra/intfact.spad.pamphlet (IntegerRoots) [perfectNthRoot]: Likewise. * algebra/numode.spad.pamphlet (NumericalOrdinaryDifferentialEquations) [rf4a]: Likewise. * algebra/solvelin.spad.pamphlet (LinearSystemMatrixPackage) [aSolution]: Likewise. 2010-06-13 Gabriel Dos Reis * algebra/padic.spad.pamphlet (InnerPAdicInteger) [coerce]: Tidy. 2010-06-12 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet (UnaryRecursiveAggregate) [#, cycleEntry, cycleLength]: Tidy. (ListAggregate) [position]: Likewise. * algebra/string.spad.pamphlet (IndexedString) [replace,split, leftTrim, rightTrim]: Likewise. 2010-06-12 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet (OneDimensionalArrayAggregate) [merge,insert,delete]: Tidy. 2010-06-12 Gabriel Dos Reis * interp/compiler.boot (complainIfShadowing): New. (compStepIterator): Use it to warn about loop variable shadowing declaration in enclosing scope. (compIterator): Likewise. 2010-06-12 Gabriel Dos Reis * algebra/kl.spad.pamphlet (Kernel): Don't clear the on instanstiation, for that may erase other precious information in the running seesion when Kernel is implicitly re-instantiated by the interpreter. 2010-06-12 Gabriel Dos Reis * algebra/permgrps.spad.pamphlet (PermutationGroup): Rename movedPoints to support. Adjust call eval. * algebra/perm.spad.pamphlet (PermutationCategory): Now extend Eltable. Remove eval. Rename movedPoints to support. (Permutation): Adjust. * algebra/irsn.spad.pamphlet (listPermutationIrrRepSymNatPackage): Change call to eval to elt. * algebra/rep1.spad.pamphlet: Likewise. 2010-06-12 Gabriel Dos Reis * interp/g-opt.boot (replaceableTemporary?): New. (optSEQ) [getRidOfTemps]: Use it to decide when to safely inline a temporary variable definition. 2010-06-12 Gabriel Dos Reis * interp/compiler.boot (compIterate): Rewrite. (compRepeatOrCollect): Tidy. Bind $loopBodyTag. 2010-06-11 Gabriel Dos Reis * algebra/tree.spad.pamphlet (node?$Tree): Fix thinko. 2010-06-11 Gabriel Dos Reis * interp/buildom.boot (mkNewUnionFunList): Use %bind, not PROG2. (mkUnionFunList): Likewise. 2010-06-10 Gabriel Dos Reis * algebra/tree.spad.pamphlet (map!Tree): Don't forget the return value. 2010-06-10 Gabriel Dos Reis * interp/compiler.boot (freeVarUsage): Handle %when too. (compLogicalNot): Generate %not form. (satisfies): Use %bind. (compMatch): Likewise. (compReduce1): Generate %loop directly instead of %reduce. * interp/g-opt.boot (changeThrowToExit): Don't check for %reduce. * interp/g-util.boot (expandRepeat): Remove. (expandReduce): Likewise. 2010-06-10 Gabriel Dos Reis * interp/g-opt.boot (optCollectVector): Generate %loop for the non-simple case. 2010-06-09 Gabriel Dos Reis * interp/g-util.boot (expandLoop): Now take all arguments as a single %loop form. (expandCollect): Adjust call. (expandRepeat): Likewise. 2010-06-09 Gabriel Dos Reis * interp/g-opt.boot (optCollectVector): Generare %collect form, not COLLECT. 2010-06-09 Gabriel Dos Reis * interp/compiler.boot (canReturn): Handle %when and %bind. (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 Gabriel Dos Reis * interp/g-opt.boot (removeNeedlessThrow): Tidy. 2010-06-08 Gabriel Dos Reis Widen scope of iterator variables in presence of terminating 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 Gabriel Dos Reis * interp/compiler.boot (finishLambdaExpression): Bind escaped variables with LET-form instead of assignment. 2010-06-07 Gabriel Dos Reis * interp/compiler.boot (replaceExitEtc): Replace TAGGEDreturn with %return. * interp/g-opt.boot (removeNeedlessThrow): New. (optCatch): Use to it to avoid horrendous code generation for return statement. * interp/g-util.boot (expandReturn): New. Expand %return forms. 2010-06-07 Gabriel Dos Reis * interp/c-util.boot (isLispSpecialVariable): New. (mutateToBackendCode): Use it to record special vars. Be careful with locally bound variables. 2010-06-06 Gabriel Dos Reis * interp/compiler.boot (replaceExitEtc): Tidy. 2010-06-06 Gabriel Dos Reis * interp/c-util.boot (mutateToBackendCode): Don't replace explicit SETQ by LETT. 2010-06-06 Gabriel Dos Reis * interp/c-util.boot (needPROGS?): New. (transformToBackendCode): Use it. Don't add unneeded PROG/RETURN. 2010-06-05 Gabriel Dos Reis * interp/compiler.boot (compRepeatOrCollect): Compile list comprehension to %collect form. 2010-06-05 Gabriel Dos Reis * driver/utils.c (openaxiom_execute_core): Don't let CLISP fool itself. 2010-06-04 Gabriel Dos Reis * algebra/exposed.lsp.pamphlet: Expose SquareMatrix. 2010-06-04 Gabriel Dos Reis * interp/buildom.boot (UnionEqual): Don't COERCE to FUNCTION. Use eval. Use middle end opcodes instead of EQCAR. (coerceUn2E): Likewise. 2010-06-03 Gabriel Dos Reis * interp/br-con.boot: More cleanup. * interp/br-op1.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/c-util.boot: Likewise. * interp/category.boot: Likewise. * interp/clam.boot: Likewise. * interp/database.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-cndata.boot: Likewise. * interp/g-util.boot: Likewise. * interp/guess.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-intern.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/interop.boot: Likewise. * interp/newfort.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/setvars.boot: Likewise. * interp/slam.boot: Likewise. * interp/topics.boot: Likewise. 2010-06-03 Gabriel Dos Reis * interp/buildom.boot: Clean up QEQCAR uses. 2010-06-03 Gabriel Dos Reis * interp/buildom.boot: Cleanup. * interp/c-util.boot ($SetCategory): New constant. * interp/compiler.boot: Use it. * interp/functor.boot: Likewise. 2010-06-02 Gabriel Dos Reis * interp/c-util.boot (usedSymbol?): New. (declareUnusedParameters): Use it. Reimplement. * interp/i-map.boot (compileCoerceMap): Adjust call. * interp/i-spec1.boot (compileADEFBody): Likewise. (mkIterFun): Likewise. * interp/slam.boot (reportFunctionCompilation): Likewise. (reportFunctionCacheAll): Likewise. (compileRecurrenceRelation): Likewise. 2010-06-01 Gabriel Dos Reis * algebra/list.spad.pamphlet: Use builtin functions. 2010-05-31 Gabriel Dos Reis * interp/g-util.boot: Add more opcodes. * algebra/syntax.spad.pamphlet: Clean up. * algebra/variable.spad.pamphlet: Likewise. * algebra/ystream.spad.pamphlet: Likewise. 2010-05-31 Gabriel Dos Reis * interp/compiler.boot (compWithMappingMode): Handle lambda expressions as mapping. 2010-05-30 Gabriel Dos Reis * interp/c-util.boot (middleEndExpand): Tidy. * 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 Gabriel Dos Reis * interp/i-coerce.boot (getSubDomainPredicate): Use compileInteractive. 2010-05-29 Gabriel Dos Reis * algebra/boolean.spad.pamphlet (Boolean): Remove reference to Lisp. Use builtin functions. 2010-05-29 Gabriel Dos Reis * interp/compiler.boot (getExternalSymbolMode): Allow Lisp as foreign language. (checkExternalEntity): Likewise. (compSignatureImport): Likewise. Give foreign variables dummy values. * interp/c-util.boot (middleEndExpand): Handle %true and %false. * interp/g-util.boot (expandToVMForm): Likewise. 2010-05-28 Gabriel Dos Reis Add support for 'property' builtin function. * interp/g-timer.boot: Rename property to prop to avoid conflict. * boot/parser.boot (bpAssignLHS): Allow functional places to assign to. * boot/ast.boot (bfPlace): New. (bfAssign): Handle %Place forms. * boot/tokens.boot: property is now translated to GET. 2010-05-27 Gabriel Dos Reis * boot/tokens.boot: args is now a selector. * interp/g-timer.boot: Use integer? in lieu of INTP. * interp/i-syscmd.boot: Likewise. * interp/msgdb.boot: Likewise. 2010-05-27 Gabriel Dos Reis * interp/sys-utility.boot (eval): Define here. * interp/br-con.boot: Use it. * interp/br-op1.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/cattable.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/interop.boot: Likewise. * interp/server.boot: Likewise. * interp/showimp.boot: Likewise. * interp/trace.boot: Likewise. * interp/sys-macros.lisp (eval): Move to sys-utility.boot. 2010-05-27 Gabriel Dos Reis * interp/sys-macros.lisp (eval): Expand opcodes before calling EVAL. * interp/slam.boot (reportFunctionCompilation): Tidy. Take extra care when generating code that access global variables. (reportFunctionCacheAll): Likewise. * interp/i-util.boot (isLocallyBound): Define. * interp/i-spec1.boot (upCOLLECT1): Bind $iteratorVars to nil. (upLoopIterSTEP): Call mkIteratorVariable instead of mkLocalVar. (upLoopIterIN): Likewise. (upStreamIterIN): Likewise. (upStreamIterSTEP): Likewise. (collectOneStream): Tidy. (mkAndApplyPredicates): Likewise. (mkIterFun): Lose last parameter. Tidy. (declare): Use isLocallyBound. (getAndEvalConstructorArgument): Likewise. (mkIteratorVariable): New. ($iteratorVars): New. * interp/i-spec2.boot (upREPEAT1): Bind $iteratorVars to nil. (isLocalPred): Use isLocallyBound. (compileIs): Likewise. (evalLETput): Likewise. (evalLETchangeValue): Likewise. (isType): Likewise. * interp/i-analy.boot (bottomUp): Likewise. (bottomUpDefaultCompile): Likewise. * interp/i-eval.boot (evalForm): Likewise. (getMappingArgValue): Likewise. * interp/i-map.boot (findLocalVars1): Likewise. (findLocalsInLoop): Tidy. Filter out iterator variables. (isLocalVar): Remove. * interp/g-util.boot (mkCacheName): Define here. (mkAuxiliaryName): Likewise. * interp/c-util.boot (backendCompileSLAM): Use mkCacheName. (backendCompileSPADSLAM): Likewise. * interp/clam.boot (compClam): Likewise. (clearCategoryCaches): Likewise. (clearCategoryCache): Likewise. * interp/g-timer.boot (timedEVALFUN): expandToVMForm is now implicitly called by eval. 2010-05-27 Gabriel Dos Reis * interp/i-map.boot (compileCoerceMap): Minivectors are global variables. Generate appropriate code. * interp/i-spec1.boot (compileTargetedADEF): Likewise. (compileADEFBody): Likewise. * interp/slam.boot (isRecurrenceRelation): Likewise. Adjust patterns to match minivectors. (mkDiffAssoc): Likewise. (reportFunctionCompilation): Don't declare minivectors. 2010-05-26 Gabriel Dos Reis * interp/slam.boot (compileRecurrenceRelation): Generate code to access and set the global value of the variable holding the cache state. * interp/g-util.boot: Add more middle end form expanders. 2010-05-26 Gabriel Dos Reis * boot/tokens.boot: Automatically translate alphabetic?, digit?, lowerCase?, upperCase?, readByte, readInteger, readLine, writeByte, writeLine. * interp/as.boot: Use them. * interp/bc-matrix.boot: Likewise. * interp/bc-solve.boot: Likewise. * interp/br-con.boot: Likewise. * interp/br-search.boot: Likewise. * interp/br-util.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/c-util.boot: Likewise. * interp/database.boot: Likewise. * interp/format.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-util.boot: Likewise. * interp/guess.boot: Likewise. * interp/ht-root.boot: Likewise. * interp/htcheck.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-util.boot: Likewise. * interp/int-top.boot: Likewise. * interp/intfile.boot: Likewise. * interp/mark.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/scan.boot: Likewise. * interp/slam.boot: Likewise. * interp/sys-utility.boot: Likewise. * interp/topics.boot: Likewise. * interp/trace.boot: Likewise. * interp/word.boot: Likewise. 2010-05-25 Gabriel Dos Reis * interp/c-util.boot ($ClearBodyToken): New constant. * interp/define.boot (compDefineCapsuleFunction): Use it in place of special character. (spadCompileOrSetq): Likewise. * interp/i-map.boot (addMap): Likewise. (getUserIdentifiersIn): Likewise. * interp/wi1.boot (spadCompileOrSetq): Likewise. 2010-05-25 Gabriel Dos Reis * interp/g-util.boot: Add expanders for %lt, %le, %gt, %ge, %not, %and, %or, and %bind forms. * interp/c-util.boot (mutateToBackendCode): Handle LET and LET* forms. * interp/nrungo.boot (NRTisRecurrenceRelation): Move to ... * interp/slam.boot: Here. Remove NRT prefix. (compileRecurrenceRelation): Generate forms using middle-end opcodes. 2010-05-25 Gabriel Dos Reis * interp/i-spec2.boot (evalREPEAT): Generate %repeat forms. (interpREPEAT): Likewise. * interp/i-spec1.boot (interpCOLLECT): Generate %collect forms. * interp/i-map.boot (findLocalVars1): Handle %repeat forms the same as REPEAT forms. * interp/g-opt.boot (changeThrowToExit): Don't look into %repeat forms. (expandInit): New. (expandLoop): New. abstract from expandCollect. (expandCollect): Use it. Rework. (expandRepeat): New. 2010-05-25 Gabriel Dos Reis * interp/g-util.boot: Implement expansion of %collect forms. * interp/c-util.boot (middleEndExpand): Tidy. * interp/g-opt.boot (changeThrowToExit): Don't look into %collect forms. * interp/i-map.boot (getUserIdentifiersIn): Factorize. Handle %collect forms same as COLLECT forms. (findLocalVars1): Likewise. * interp/i-spec1.boot (evalCOLLECT): Now generate %collect forms. (checkForFreeVariables): Factorize. Handle %collect forms same as COLLECT forms. 2010-05-24 Gabriel Dos Reis * interp/g-util.boot (expandToVMForm): New. Export. (getOpcodeExpander): move to here from c-util.boot. ($middleEndOpcodes): Likewise. 2010-05-24 Gabriel Dos Reis * interp/i-object.boot (object): New. Abstract over boilerplate. * interp/i-analy.boot: Use it in place of boilerplate. * interp/i-eval.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-spec2.boot: Likewise. 2010-05-24 Gabriel Dos Reis * interp/c-util.boot ($middleEndOpcodes): New. (getOpcodeExpander): Likewise. (middleEndExpand): Use it to expand middle end opcodes. 2010-05-23 Gabriel Dos Reis * interp/i-spec1.boot (compileADEFBody): Establish a dynamic binding for $freeVariables and $boundVariables. (mkIterFun): Likewise. (mkIterZippedFun): Likewise. 2010-05-23 Gabriel Dos Reis * boot/tokens.boot: gensym is now candidate for renaming. * boot/ast.boot: Replace GENSYM with gensym. * interp/buildom.boot: Likewise. * interp/clam.boot: Likewise. * interp/clammed.boot: Likewise. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-spec2.boot: Likewise. * interp/macex.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/parse.boot: Likewise. * interp/pf2atree.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/postpar.boot: Likewise. * interp/ptrees.boot: Likewise. * interp/server.boot: Likewise. * interp/slam.boot: Likewise. * interp/sys-constants.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise. 2010-05-22 Gabriel Dos Reis * input/collect.input.pamphlet: Remove bogus expression. 2010-05-22 Gabriel Dos Reis * interp/cparse.boot (npDefinitionItem): Consider a declaration as a definition item too. * interp/i-map.boot (addDefMap): Don't confuse constant with niladic functions. * interp/pf2sex.boot (pfDefinition2Sex): Don't be confused by typed constant definitions. 2010-05-22 Gabriel Dos Reis * interp/ptrees.boot (pfWith): Now a function of two arguments. (pfWithWithon): Remove. (pfDefinableName?): New. (pfCheckItOut): Use it. * interp/cparse.boot (npWith): Simplify. * interp/pf2sex.boot (pfWith2Sex): Adjust. (pfAdd2Sex): Tidy. 2010-05-22 Gabriel Dos Reis * interp/cparse.boot (npQuiver): Redefine. Now send Application to Application. (npTypedForm): Replace Application with Quiver. (npTypified): Likewise. (npTagged): Use npTypedForm not npTypedForm1. (npDiscrim): Now extend Relation, not Quiver. (npMdef): Allow same LHS as npDef. (npSingleRule): Likewise. * boot/ast.boot: Replace CONCAT with strconc. Replace SYMBOL-NAME with PNAME. * boot/scanner.boot: Likewise. * boot/translator.boot: Likewise. 2010-05-18 Gabriel Dos Reis * boot/ast.boot: Add %Leave ast node. (bfLeave): New. * boot/parser.boot (bpLeave): Use it. 2010-05-18 Gabriel Dos Reis * boot/translator.boot (translateToplevelExpression): Tidy. 2010-05-18 Gabriel Dos Reis * interp/cparse.boot: Clean up. 2010-05-17 Gabriel Dos Reis * interp/fnewmeta.lisp: Remove out-of-date META grammar. (PARSE-LabelExpr): Remove. * interp/newaux.lisp: Remove Nud property for << and >>. 2010-05-16 Gabriel Dos Reis * interp/as.boot: Clean up. * interp/br-util.boot: Likewise. * interp/category.boot: Likewise. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/modemap.boot: Likewise. * interp/wi2.boot: Likewise. 2010-05-16 Gabriel Dos Reis * interp/i-util.boot (flattenCOND): Move from g-boot.boot. (extractCONDClauses): Likewise. * interp/g-boot.boot: Remove. * interp/def.lisp: Likewise. * interp/Makefile.pamphlet: Adjust dependencies. 2010-05-16 Gabriel Dos Reis * interp/property.lisp: Clean up. 2010-05-15 Gabriel Dos Reis * interp/daase.lisp ($ConstructorCache): Declare. * interp/bootlex.lisp: Fix use of SETELT. * interp/macros.lisp: Likewise. * interp/preparse.lisp: Likewise. * interp/spad.lisp: Likewise. * interp/vmlisp.lisp: Likewise. 2010-05-15 Gabriel Dos Reis * boot/ast.boot (shoeCompTran1): Handle %Leave expressions. * boot/parser.boot (bpReturn): Parse leave-expressions too. * interp/mark.boot (markInsertBodyParts): properly escape Boot keywords. 2010-05-15 Gabriel Dos Reis * interp/vmlisp.lisp (SETELT): Remove. * interp/br-data.boot: Remove use of SETELT. * interp/br-saturn.boot: Likewise. * interp/br-util.boot: Likewise. * interp/functor.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/interop.boot: Likewise. * interp/nruncomp.boot: Likewise. 2010-05-13 Gabriel Dos Reis * interp/sys-utility.boot (hashTable): Define. * 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-11 Gabriel Dos Reis Add support for interpreter-style anonymous function. * interp/compiler.boot (compUnnamedMapping): New. (gatherParameterList): Likewise. (compLambda): Likewise. 2010-05-10 Gabriel Dos Reis * interp/compiler.boot (freeVarUsage): New. Split out of compWithMappingMode. (finishLambdaExpression): Likewise. (compWithMappingMode): Restructure. 2010-05-09 Gabriel Dos Reis Add lambda expression syntax to Boot. * boot/parser.boot (bpLambda): New. * boot/ast.boot (bfLambda): New. * boot/tokens.boot: Add "+->" as token. * interp/cparse.boot: Use lambda expression syntax. * interp/c-util.boot: Likewise. 2010-05-09 Gabriel Dos Reis * boot/tokens.boot: Don't rename 'car', 'cdr', and PAIRP. 2010-05-09 Gabriel Dos Reis * interp/bc-solve.boot: Move cleanups. * interp/br-con.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/br-search.boot: Likewise. * interp/br-util.boot: Likewise. * interp/c-util.boot: Likewise. * interp/cattable.boot: Likewise. * interp/cparse.boot: Likewise. * interp/cstream.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/g-timer.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/htcheck.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/i-util.boot: Likewise. * interp/incl.boot: Likewise. * interp/int-top.boot: Likewise. * interp/interop.boot: Likewise. * interp/intfile.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/macex.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/newfort.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/nrungo.boot: Likewise. * interp/pathname.boot: Likewise. * interp/profile.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/ptrees.boot: Likewise. * interp/scan.boot: Likewise. * interp/sys-os.boot: Likewise. * interp/sys-utility.boot: Likewise. * interp/wi1.boot: Likewise. 2010-05-09 Gabriel Dos Reis * boot/tokens.boot: Don't rename 'cons'. * interp/msg.boot: Remove uses of cons. * interp/postpar.boot: Likewise. * interp/types.boot: Likewise. 2010-05-09 Gabriel Dos Reis * boot/ast.boot: Miscellaneous cleanup. * boot/includer.boot: Likewise. * boot/parser.boot: Likewise. * boot/pile.boot: Likewise. * boot/scanner.boot: Likewise. * boot/translator.boot: Likewise. 2010-05-09 Gabriel Dos Reis * interp/cattable.boot: Replace call to CONS with bracket syntax. * interp/clammed.boot: Likewise. * interp/cparse.boot: Likewise. * interp/dq.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/g-boot.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-object.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-resolv.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-spec2.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/incl.boot: Likewise. * interp/interop.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/newfort.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/rulesets.boot: Likewise. * interp/scan.boot: Likewise. * interp/termrw.boot: Likewise. * interp/wi2.boot: Likewise. 2010-05-08 Gabriel Dos Reis * interp/cparse.boot: Replace call to cons with bracket syntax. * interp/cstream.boot: Likewise. * interp/database.boot: Likewise. * interp/define.boot: Likewise. * interp/g-boot.boot: Likewise. * interp/g-util.boot: Likewise. * interp/i-analy.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-spec2.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/incl.boot: Likewise. * interp/int-top.boot: Likewise. * interp/macex.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/pile.boot: Likewise. * interp/posit.boot: Likewise. * interp/ptrees.boot: Likewise. * interp/scan.boot: Likewise. * interp/setvars.boot: Likewise. * interp/trace.boot: Likewise. * interp/types.boot: Likewise. 2010-05-08 Gabriel Dos Reis * interp/c-util.boot: Replace uses of rplac with explicit assignments to first and rest fields. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/wi1.boot: Likewise. 2010-05-08 Gabriel Dos Reis * interp/wi2.boot: Remove more RPLACA and RPLACD uses. * interp/topics.boot: Likewise. * interp/slam.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/interop.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-resolv.boot: Likewise. * interp/i-output.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/g-util.boot: Likewise. * interp/g-cndata.boot: Likewise. * interp/functor.boot: Likewise. * interp/dq.boot: Likewise. * interp/define.boot: Likewise. * interp/database.boot: Likewise. * interp/cparse.boot: Likewise. * interp/clam.boot: Likewise. * interp/c-util.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-data.boot: Likewise. 2010-05-08 Gabriel Dos Reis * interp/as.boot: Replace uses of RPLACA and RPLACD with explicit assignment to first and rest fields. * interp/astr.boot: Likewise. * interp/br-con.boot: Likewise. * interp/br-data.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/buildom.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/c-util.boot: Likewise. * interp/cattable.boot: Likewise. * interp/clam.boot: Likewise. * interp/compiler.boot: Likewise. * interp/compress.boot: Likewise. * interp/cparse.boot: Likewise. * interp/cstream.boot: Likewise. * interp/database.boot: Likewise. * interp/define.boot: Likewise. * interp/dq.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/g-util.boot: Likewise. * interp/guess.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/i-analy.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-object.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-resolv.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-spec2.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-util.boot: Likewise. * interp/interop.boot: Likewise. * interp/mark.boot: Likewise. * interp/modemap.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/newfort.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/packtran.boot: Likewise. * interp/showimp.boot: Likewise. * interp/termrw.boot: Likewise. * interp/topics.boot: Likewise. * interp/trace.boot: Likewise. * interp/wi2.boot: Likewise. * interp/word.boot: Likewise. 2010-05-08 Gabriel Dos Reis * boot/parser.boot (bpArgumentList): New. (bpParenthesizedApplication): Use it. New. (bpPrimary1): Use it to implement function call with explicit parenthesis as primary. (bpOperator): Remove. (bpAssignLHS): Rework. Allow field path after function call. * boot/translator.boot: Remove debugging statement. * interp/as.boot: Adjust to new syntax. * interp/br-con.boot: Likewise. * interp/br-data.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/category.boot: Likewise. * interp/cattable.boot: Likewise. * interp/define.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-util.boot: Likewise. * interp/interop.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/setvars.boot: Likewise. * interp/trace.boot: Likewise. 2010-05-07 Gabriel Dos Reis * interp/c-util.boot: Replace uses of rplac with explicit assignments. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/nrunfast.boot: Likewise. * lisp/core.lisp.in ($FilesToRetain): New. Export. * lisp/Makefile.in: Tidy. * boot/translator.boot (retainFile?): New. (compileBootHandler): Use it. 2010-05-07 Gabriel Dos Reis * interp/as.boot: Miscellaneous cleanup. * interp/ax.boot: Likewise. * interp/br-con.boot: Likewise. * interp/br-prof.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/br-search.boot: Likewise. * interp/br-util.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/clammed.boot: Likewise. * interp/compiler.boot: Likewise. * interp/database.boot: Likewise. * interp/cstream.boot: Likewise. * interp/define.boot: Likewise. * interp/diagnostics.boot: Likewise. * interp/format.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-boot.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/g-util.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/i-analy.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-intern.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/interop.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/mark.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/newfort.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/nrungo.boot: Likewise. * interp/pathname.boot: Likewise. * interp/pf2atree.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/record.boot: Likewise. * interp/setvars.boot: Likewise. * interp/trace.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise. 2010-05-06 Gabriel Dos Reis * boot/ast.boot: Miscellaneous cleanup. * boot/includer.boot: Likewise. * boot/parser.boot: Likewise. * boot/pile.boot: Likewise. * boot/scanner.boot: Likewise. * boot/tokens.boot: Likewise. * boot/translator.boot: Likewise. 2010-05-06 Gabriel Dos Reis * boot/ast.boot: Translate assignment to head and tail of a list. Remove explicit uses of RPLACA and RPLACD. * boot/includer.boot: Likewise. * boot/scanner.boot: Likewise. * boot/translator.boot: Likewise. 2010-05-06 Gabriel Dos Reis * interp/wi2.boot: Replace INTEGERP, STRINGP, SYMBOLP, CONSP with integer?, string?, symbol?, and cons? respectively. * interp/wi1.boot: Likewise. * interp/trace.boot: Likewise. * interp/sys-utility.boot: Likewise. * interp/showimp.boot: Likewise. * interp/setvars.boot: Likewise. * interp/record.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/postpar.boot: Likewise. * interp/posit.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/pf2atree.boot: Likewise. * interp/parse.boot: Likewise. * interp/packtran.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/nrungo.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/newfort.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/msg.boot: Likewise. * interp/modemap.boot: Likewise. * interp/match.boot: Likewise. * interp/mark.boot: Likewise. * interp/interop.boot: Likewise. * interp/int-top.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-spec2.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-resolv.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-object.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-intern.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-eval.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-analy.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/htcheck.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/ht-root.boot: Likewise. * interp/g-util.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/g-error.boot: Likewise. * interp/g-boot.boot: Likewise. * interp/functor.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/format.boot: Likewise. * interp/diagnostics.boot: Likewise. * interp/define.boot: Likewise. * interp/compress.boot: Likewise. * interp/compiler.boot: Likewise. * interp/clammed.boot: Likewise. * interp/clam.boot: Likewise. * interp/cformat.boot: Likewise. * interp/cattable.boot: Likewise. * interp/category.boot: Likewise. * interp/c-util.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/buildom.boot: Likewise. * interp/br-util.boot: Likewise. * interp/br-search.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/br-op2.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-data.boot: Likewise. * interp/br-con.boot: Likewise. * interp/bc-util.boot: Likewise. * interp/ax.boot: Likewise. * interp/as.boot: Likewise. * boot/translator.boot: Likewise. * boot/ast.boot: Likewise. * boot/includer.boot: Likewise. * boot/tokens.boot: Add new replacement for integer?, string?, symbol? and cons? 2010-05-05 Gabriel Dos Reis * interp/compiler.boot (setqSingle): Ignore $QuickLet. * interp/wi1.boot (setqSingle): Likewise. 2010-05-05 Gabriel Dos Reis * interp/compiler.boot (compSetq1): Call self, not compSetq. * 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 Gabriel Dos Reis * interp/c-util.boot: Change middle-end instruction "call" to "%Call". * interp/compiler.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/mark.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise. 2010-05-04 Gabriel Dos Reis * interp/compiler.boot: Miscellaneous cleanup. * interp/g-opt.boot: Likewise. * interp/functor.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/wi2.boot: Likewise. 2010-05-04 Gabriel Dos Reis * interp/c-util.boot (backendCompileSPADSLAM): Generate more readable Lisp code. 2010-05-04 Gabriel Dos Reis * interp/define.boot (compDefineCategory2): Tidy. 2010-05-03 Gabriel Dos Reis * interp/compiler.boot (setqSingle): Tidy. 2010-05-03 Gabriel Dos Reis Generate more readable code for functor definitions. * interp/nruncomp.boot (washFunctorBody): New. (buildFunctor): Use it. * interp/g-opt.boot (optBind): New. (optLIST): Likewise. 2010-05-02 Gabriel Dos Reis * interp/compiler.boot (canReturn): Tidy. 2010-05-02 Gabriel Dos Reis * interp/compiler.boot (isSubset): Expand domain representation form. * algebra/term.spad.pamphlet (retractIfCan$Arity): Tidy. * algebra/tree.spad.pamphlet (cyclicCopy2$Tree): Remove unnecessary "return". 2010-04-30 Gabriel Dos Reis * interp/c-util.boot (getSuccessEnvironment): Move to here from compiler.boot. (getInverseEnvironment): Likewise. * interp/wi2.boot (getSuccessEnvironment): Remove. (getInverseEnvironment): Likewise. (corrupted?): Likewise. (unLet): Likewise. 2010-04-30 Gabriel Dos Reis * interp/macros.lisp (|check-subtype|): Return coerced value if can. (|check-union|): Likewise. * interp/compiler.boot (coerceSuperset): Tidy. Generate %Retract instruction. * interp/g-opt.boot (optRetract): New. 2010-04-25 Gabriel Dos Reis * algebra/carten.spad.pamphlet (CartesianTensor): Satisfy 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 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet: Tidy. 2010-04-24 Gabriel Dos Reis * algebra/partperm.spad.pamphlet (PartitionsAndPermutations): Move partitions to domain Partitions. * algebra/cycles.spad.pamphlet (CycleIndicators): User partitions from Partition. Tidy. 2010-04-23 Gabriel Dos Reis * algebra/prtition.spad.pamphlet (parts$Partition): New. (partitions$Partition): Likewise. 2010-04-22 Gabriel Dos Reis * algebra/young.spad.pamphlet: New. 2010-04-21 Gabriel Dos Reis * algebra/irsn.spad.pamphlet (IrrRepSymNatPackage): Tidy. * 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 Gabriel Dos Reis * interp/compiler.boot (joinIntegerModes): New. (compIntegerValue): Likewise. (compStepIterator): Likewise. (compIterate): Use it. 2010-04-18 Alfredo Portes * hyper/Makefile.in : Remove linking to X11 library for htadd. 2010-04-18 Gabriel Dos Reis * algebra/cycles.spad.pamphlet (CycleIndicators): Clean up. (complete$CycleIndicators): Argument type is now NonNegativeInteger. (powerSum$CycleIndicators): Likewise. (elementary$CycleIndicators): Likewise. (alternating$CycleIndicators): Likewise. (cyclic$CycleIndicators): Likewise. (dihedral$CycleIndicators): Likewise. (graphs$CycleIndicators): Likewise. 2010-04-18 Gabriel Dos Reis * algebra/term.spad.pamphlet (TermAlgebraOperator): New. 2010-04-17 Gabriel Dos Reis * algebra/prtition.spad.pamphlet (powers$Partition): Take a Partition as argument. Remove local function 'bite'. Make powers iterative. 2010-04-17 Gabriel Dos Reis * algebra/prtition.spad.pamphlet (powers$Partition): Return list of pairs. 2010-04-17 Gabriel Dos Reis * algebra/prtition.spad.pamphlet (Partition): Simplify implementation. Reuse operations available from the representation domain. 2010-04-08 Gabriel Dos Reis * algebra/boolean.spad.pamphlet (atoms$PropositionalFormula): Rename from terms. 2010-04-07 Gabriel Dos Reis * algebra/boolean.spad.pamphlet (isAtom$PropositionalFormula): Rename from isTerm. (simplify$PropositionalFormulaFunctions1): New. 2010-04-04 Gabriel Dos Reis * algebra/boolean.spad.pamphlet (BooleanLogic): New. (PropositionalLogic): Extend it. * algebra/aggcat.spad.pamphlet (BitAggregate): Likewise. * algebra/si.spad.pamphlet (SingleInteger): Assert membership to BooleanLogic. 2010-04-04 Gabriel Dos Reis * algebra/boolean.spad.pamphlet (PropositionalFormulaFunctions1): New. (PropositionalFormulaFunctions2): Likewise. 2010-04-03 Gabriel Dos Reis * interp/sys-utility.boot ($ClosedIOMode): New. * algebra/files.spad.pamphlet (closed$IOMode): Likewise. 2010-03-18 Gabriel Dos Reis * algebra/any.spad.pamphlet (Property): Tidy. (Environment): Likewise. Rename setProperty! to putProperty. Rename setProperties! to putProperties. 2010-03-13 Gabriel Dos Reis * algebra/compiler.spad.pamphlet: Add more IR contructor functions. Elaborate definitions. 2010-03-12 Gabriel Dos Reis * algebra/compiler.spad.pamphlet (InternalRepresentationForm): Tidy. (InternalTypeForm): Likewise. (CompilerPackage): Expand. 2010-03-12 Gabriel Dos Reis * algebra/compiler.spad.pamphlet: New. (InternalTypeForm): New. (Elaboration): New. 2010-03-12 Gabriel Dos Reis * algebra/syntax.spad.pamphlet (InternalRepresentationForm): New. 2010-03-10 Gabriel Dos Reis * interp/nruncomp.boot (genDeltaEntry): Take a second, environment argument. Pass to compOrCroak. * interp/compiler.boot (compElt): Adjust call to genDeltaEntry. (compCase1): Likewise. (coerceByModemap): Likewise. (autoCoerceByModemap): Likewise. (compCat): Likewise. (compViableModemap): Take an additional environment argument. Pass it to genDeltaEntry. (compApplyModemap): Adjust call to compViableModemap. (compResolveCall): Likewise. 2010-03-09 Gabriel Dos Reis * interp/nruncomp.boot (needToQuoteFlags?): New. (optDeltaEntry): Use it. 2010-03-06 Gabriel Dos Reis * interp/g-opt.boot ($VMsideEffectFreeOperators): New. ($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 Gabriel Dos Reis * interp/nruncomp.boot (optDeltaEntry): Silently fail for domains that are not instantiations. 2010-03-04 Gabriel Dos Reis * interp/sys-globals.boot ($optimizeRep): Define. * 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-04 Gabriel Dos Reis * interp/g-opt.boot (nominateForInlining): New. (optimizableDomain?): Likewise. (optCallSpecially): Use it * interp/compiler.boot (processInlineRequest): Likewise. * interp/nruncomp.boot (optDeltaEntry): Likewise. * interp/wi2.boot (optDeltaEntry): Likewise. 2010-03-04 Gabriel Dos Reis * interp/c-util.boot (isSymbol): Remove. * interp/compiler.boot (compAtom): Don't use it. * interp/wi1.boot (compAtom): Likewise. 2010-03-04 Gabriel Dos Reis * interp/c-util.boot (quoteMinimally): New. (registerFunctionReplacement): Likewise. * interp/define.boot (spadCompileOrSetq): Use it. * interp/g-opt.boot (optSpecialCall): Likewise. * interp/nruncomp.boot (optDeltaEntry): Likewise. * interp/spad.lisp (|knownEqualPred|): Likewise. * interp/wi2.boot (optDeltaEntry): Likewise. 2010-03-01 Gabriel Dos Reis * algebra/vector.spad.pamphlet (maxIndex$Vector): Define. 2010-02-28 Gabriel Dos Reis * algebra/boolean.spad.pamphlet (conjunction$PropositionalFormula): New exported function. (disjunction$PropositionalFormula): Likewise. 2010-02-27 Gabriel Dos Reis * interp/modemap.boot (augModemapsFromCategoryRep): Remove assignment to $base. (augModemapsFromCategory): Likewise. 2010-02-23 Gabriel Dos Reis * interp/nruncomp.boot (genDeltaEntry): Don't store extraneous item on $NRTdeltaList. (NRTgetLocalIndex): Likewise. Tidy. 2010-02-22 Gabriel Dos Reis Expand support for domain inlining to non-niladic functors. * interp/compiler.boot (processInlineRequest): Now accept any functor. * interp/c-util.boot (lookupFunctionInstance): New. (isFormal): Likewise. (expandFormTemplate): Likewise. (equalFormTemplate): Likewise. (getFunctionTemplate): Likewise. (lookupInheritedDefiningFunction): Likewise. (lookupDefiningFunction): Likewise. * interp/nruncomp.boot (optDeltaEntry): Tidy. Use lookupDefiningFunction. 2010-02-20 Gabriel Dos Reis * algebra/boolean.spad.pamphlet (PropositionalFormula): 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 Gabriel Dos Reis * interp/sys-constants.boot ($SystemInlinableConstructorNames): Include Void. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include VOID. (axiom_algebra_layer_14): Loose it. 2010-02-17 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet: Remove unnecessary call to void. * 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-16 Gabriel Dos Reis * interp/compiler.boot (compAtomWithModemap): Reject niladic 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 Gabriel Dos Reis * interp/compiler.boot (compAtomWithModemap): Rewrite. (transImplementation): Remove. 2010-02-15 Gabriel Dos Reis * interp/compiler.boot (transImplementation): Loose last argument. (compAtomWithModemap): Adjust call. 2010-02-14 Gabriel Dos Reis Fix SF/2910351 * interp/nruncomp.boot (deltaTran): Avoid use of user-visible names for compiler internal tags. (genDeltaEntry): Likewise. (NRTassocIndex): Likewise. (NRTgetLocalIndex): Likewise. (NRTsubstDelta): Likewise. * interp/wi2.boot (genDeltaEntry): Likewise. 2010-02-14 Waldek Hebisch Gabriel Dos Reis * algebra/sttaylor.spad.pamphlet (revert$StreamTaylorSeriesOperations): Tidy. 2010-02-11 Gabriel Dos Reis * algebra/boolean.spad.pamphlet (~$Boolean): Work around silly bug in CLisp-2.48. 2010-02-09 Gabriel Dos Reis * interp/vmlisp.lisp (NEQ): Remove. * interp/clam.boot (lassocShift): Don't use it. (lassocShiftWithFunction): Likewise. (lassocShiftQ): Likewise. 2010-02-09 Gabriel Dos Reis * algebra/list.spad.pamphlet (IndexedList): Don't use NEQ. 2010-02-09 Gabriel Dos Reis * interp/vmlisp.lisp (MRP): Remove. (SFP): Likewise. * interp/i-syscmd.boot (compileAsharpCmd1): Use getEnv, not GETENV. 2010-02-09 Gabriel Dos Reis * interp/sys-utility.boot (RECLAIM): Don't error. 2010-02-08 Gabriel Dos Reis * lisp/core.lisp.in ("AxiomCore"): Use Clozure CL's package CCL. 2010-02-07 Gabriel Dos Reis Add support for CLozure CL. * lisp/core.lisp.in: Add support for Clozure CL. (main): Remove as unused. * driver/utils.h (openaxiom_runtime): Add openaxiom_clozure_runtime. * boot/translator.boot (loadNativeModule): Handle Clozure CL. * boot/ast.boot (nativeType): Handle Clozure's FFI types. (nativeReturnType): Likewise. (coerceToNativeType): Likewise. (genCLOZUREnativeTranslation): New. (genImportDeclaration): Use it. * interp/vmlisp.lisp (SINTP): Remove duplicate definition. (SMINTP): Likewise. (ZERO?): Likewise. (GCMSG): Reorganize definition. (BPINAME): Likewise. 2010-02-07 Gabriel Dos Reis * interp/daase.lisp: Remove conditionals on :CCL. * interp/fname.lisp: Likewise. * interp/foam_l.lisp: Likewise. * interp/macros.lisp: Likewise. * interp/nlib.lisp: Likewise. * interp/patches.lisp: Likewise. * interp/sfsfun-l.lisp: Likewise. * interp/spad.lisp: Likewise. * interp/util.lisp: Likewise. * interp/vmlisp.lisp: Likewise. 2010-01-03 Aleksej Saushev * hyper/addfile.c (strpostfix): Simplify. 2009-11-17 Gabriel Dos Reis * algebra/syntax.spad.pamphlet (SpadAstExports): Add case for JoinAst. 2009-11-17 Gabriel Dos Reis * algebra/syntax.spad.pamphlet (StepAst): New. (SpadAstExports): Add case for StepAst. (SpadAst): Implement. 2009-11-09 Gabriel Dos Reis * interp/i-syscmd.boot (reportOpsFromUnitDirectly): Fix thinko. 2009-11-08 Gabriel Dos Reis Fix SF/2893009 * algebra/syntax.spad.pamphlet (ParameterAst): New. (HeadAst): Use it. * testsuite/interpreter/sf-2893009.input: Likewise. * testsuite/interpreter/sf-2893009.spad: New. 2009-10-31 Gabriel Dos Reis * interp/br-op2.boot (pairlis): Remove. (modemap2Sig): Use pairList. * interp/compiler.boot (applyMapping): Likewise. * interp/database.boot (augLisplibModemapsFromCategory): Likewise. (getOplistForConstructorForm): Likewise. * interp/define.boot (compDefineCategory2): Likewise. (compDefineFunctor1): Likewise. (mkOpVec): Likewise. * interp/lisplib.boot (finalizeLisplib): Likewise. * interp/nruncomp.boot (mkSlot1sublis): Likewise. * interp/wi1.boot (compDefineCategory2): Likewise. * interp/wi2.boot (compDefineFunctor1): Likewise. 2009-10-28 Gabriel Dos Reis * algebra/seg.spad.pamphlet (RangeBinding): New. (SegmentBinding): Tidy. * algebra/exposed.lsp.pamphlet (RangeBinding): Expose. * algebra/Makefile.pamphlet (axiom_algebra_layer_19): Include RNGBIND. 2009-10-27 Gabriel Dos Reis * interp/nruncomp.boot (buildFunctor): Remove $MissingFunctionInfo. * interp/functor.boot (SetFunctionSlots): Simplify. (SigSlotsMatch): Likewise. (CheckVector): Remove. (makeMissingFunctionEntry): Refer to $SetFunctions. 2009-10-27 Gabriel Dos Reis * algebra/taylor.spad.pamphlet (InnerTaylorSeries): Now satisfies BiModule(Coef,Coef). Remove duplicate exports. Use rep and per operators. 2009-10-25 Gabriel Dos Reis * share/tex/open-axiom.sty: New. * share/Makefile.in (FILES): Update. ($(axiom_target_texdir)/open-axiom.sty): New rule. * lib/cfuns-c.c (oa_spawn)[__WIN32__]: Return exit status if in overlay mode. * include/open-axiom.h (OPENAXIOM_TEXINPUTS_PATH): Tidy. (OPENAXIOM_BIBINPUTS_PATH): Likewise. * driver/utils.c (print_usage): Document --execute option. 2009-10-25 Gabriel Dos Reis * lib/cfuns-c.c (oa_concatenate_string): Define. * include/open-axiom.h (openaxiom_ifs): New. (OPENAXIOM_TEXINPUTS_PATH): Likewise. (OPENAXIOM_BIBINPUTS_PATH): Likewise. * driver/main.c (augment_variable): New. (upgrade_environment): Likewise. Call publish_systemdir. (main): Call it instead of publish_systemdir. Handle 'spawn' driver. * driver/utils.h (openaxiom_execute_driver): New kind of driver. * driver/utils.c (openaxiom_preprocess_arguments): Tidy. (openaxiom_execute_core): Likewise. * sman/sman.c (process_arguments): Likewise. (process_options): Likewise. 2009-10-24 Gabriel Dos Reis * lib/cfuns-c.c (oa_spawn): New. (oa_allocate_process_argv): Likewise. 2009-10-15 Gabriel Dos Reis * interp/buildom.boot: Tidy. 2009-10-15 Gabriel Dos Reis * interp/i-syscmd.boot (reportOpsFromUnitDirectly): Tidy. 2009-10-14 Gabriel Dos Reis * algebra/string.spad.pamphlet (hash$IndexedString): Simplify. 2009-10-14 Gabriel Dos Reis * interp/i-funsel.boot (findFunctionInDomain): Fix thinko. 2009-10-12 Kostas Oikonomou * algebra/tex.spad.pamphlet: Update special function list. 2009-10-10 Gabriel Dos Reis * algebra/void.spad.pamphlet (Void): Remove Rep definition. 2009-10-09 Gabriel Dos Reis Fix SF/2875134 * interp/ptrees.boot: New. (pfIdSymbol): Use it. (pfSymbolSymbol): Likewise. (pfInfApplication): Likewise. * testsuite/interpreter/sf-2875134.input: New. 2009-10-01 Gabriel Dos Reis * driver/Makefile.in (open_axiom_LDADD): Prefer libraries from build lib/ directory. 2009-09-30 Gabriel Dos Reis * sman/sman.c (should_I_clef): Remove. 2009-09-29 Gabriel Dos Reis * sman/sman.c (fix_env): Simplify. (exec_command_env): Lose second parameter. (fork_Axiom): Take a new parameter. (start_the_Axiom): Adjust. (main): Likewise. * interp/int-top.boot (printFirstPrompt?): New. (SpadInterpretStream): Use it. * driver/utils.h (openaxiom_allocate_command_argv): Declare. * driver/utils.c (openaxiom_allocate_command_argv): Define. * driver/Makefile.in (open-axiom$(EXEEXT)): Link statically. 2009-09-29 Gabriel Dos Reis * driver/Makefile.in (open-axiom): Link against core runtime. * driver/main.c (publish_systemdir): Rework. * include/cfuns.h (oa_setenv): Declare. * lib/cfuns-c.c (oa_setenv): Define. 2009-09-29 Gabriel Dos Reis * algebra/xpoly.spad.pamphlet (OrderedFreeMonoid): Really make an OrderedMonoid. 2009-09-29 Gabriel Dos Reis * interp/br-util.boot (htPred2English): Espace "has". * interp/format.boot (pred2English): Likewise. * interp/i-spec1.boot ($specialOps): Likewise. 2009-09-29 Gabriel Dos Reis * interp/i-funsel.boot (matchMmSig): Fix thinko from revision 1297. 2009-09-26 Gabriel Dos Reis Fix SF/2854105 * graph/PS/*.ps: New. 2009-09-26 Gabriel Dos Reis * algebra/free.spad.pamphlet (FreeMonoidCategory): New. (FreeModule): Use it. * algebra/xpoly.spad.pamphlet (OrderedFreeMonoid): Likewise. 2009-09-26 Gabriel Dos Reis * interp/: More cleanup. 2009-09-25 Gabriel Dos Reis * interp/as.boot: Clean up. * interp/ax.boot: Likewise. * interp/br-con.boot: Likewise. * interp/br-data.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-op2.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/br-search.boot: Likewise. * interp/c-util.boot: Likewise. * interp/category.boot: Likewise. * interp/cattable.boot: Likewise. * interp/clam.boot: Likewise. * interp/compiler.boot: Likewise. * interp/cstream.boot: Likewise. * interp/define.boot: Likewise. * interp/format.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-boot.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/g-timer.boot: Likewise. * interp/guess.boot: Likewise. * interp/i-analy.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-eval.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-intern.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-object.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-resolv.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-spec2.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/int-top.boot: Likewise. * interp/interop.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/mark.boot: Likewise. * interp/modemap.boot: Likewise. * interp/msg.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/newfort.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/nrungo.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/pf2atree.boot: Likewise. * interp/pile.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/ptrees.boot: Likewise. * interp/scan.boot: Likewise. * interp/sfsfun.boot: Likewise. * interp/showimp.boot: Likewise. * interp/slam.boot: Likewise. * interp/trace.boot: Likewise. * interp/wi1.boot: Likewise. * interp/word.boot: Likewise. 2009-09-25 Gabriel Dos Reis * boot/ast.boot (bfMember): Improve a bit. * boot/tokens.boot: Don't rename 'is' and 'inst'. * boot/parser.boot: Use 'in' instead of 'MEMQ' where approrpriate. * interp/: Likewise. 2009-09-24 Gabriel Dos Reis * boot/ast.boot (bfMember): New. (bfInfApplication): Use it. * boot/tokens.boot: Don't rename IN. * interp/ax.boot (makeAxFile): Fix thinko. (makeAxExportForm): Likewise. 2009-09-21 Gabriel Dos Reis * algebra/data.spad.pamphlet (SystemInteger): Tidy. * algebra/integer.spad.pamphlet (Integer): Likewise. * algebra/si.spad.pamphlet (IntegerNumberSystem): Likewise. 2009-09-21 Gabriel Dos Reis * interp/i-spec2.boot (findConstantInDomain): Substitute into the result domain. 2009-09-21 Gabriel Dos Reis * lib/openpty.c (ptyopen): Fix thinko. 2009-09-20 Gabriel Dos Reis * algebra/data.spad.pamphlet (size$Byte): Implement. (index$Byte): Likewise. (lookup$Byte): Likewise. (random$Byte): Likewise. 2009-09-20 Gabriel Dos Reis * lib/XDither.c: Tidy. * lib/XShade.c: Likewise. * lib/XSpadFill.c: Likewise. * lib/bsdsignal.c: Likewise. * lib/edin.c: Likewise. * lib/fnct_key.c: Likewise. * lib/util.c: Likewise. * lib/wct.c: Likewise. 2009-09-19 Gabriel Dos Reis * boot/tokens.boot: "has" is not a keyword. * boot/ast.boot (bfHas): New. (bfReduce): Use "has" instead "has". (bfReduceCollect): Likewise. (bfReName): Likewise. (bfElt): Likewise. (bfSetelt): Likewise. * boot/parser.boot (bpSexpKey): Likewise. (bpPrefixOperator): Likewise. (bpInfixOperator): Likewise. (bpThetaName): Likewise. (bpIs): Parse "has" expressions. * boot/pile.boot (shoePileCoagulate): Likewise. * interp/: Fix unquoted use of "has". * interp/interop.boot (has): Remove. 2009-09-16 Kosta Oikonomou Gabriel Dos Reis * graph/viewAlone/Makefile.in (viewAlone_LDADD): Include $(AXIOM_X11_LDFLAGS) and $(oa_c_libs). * graph/viewman/Makefile.in (viewman_LDADD): Likewise. * hyper/Makefile.in (htadd_LDADD): Likewise. * sman/Makefile.in (session_LDADD): Include $(oa_c_libs). (spadclient_LDADD): Likewise. (sman_LDADD): Likewise. 2009-09-08 Anatoly Raportirenko * interp/boot-pkg.lisp (DFLOAT-FORMAT-GENERAL): New. 2009-09-08 Gabriel Dos Reis * boot/ast.boot: Support "pointer" as simple datatype. * 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 Gabriel Dos Reis * algebra/data.spad.pamphlet: Cleanup. * interp/compiler.boot (getBasicFFIType): Handle 64-bit integer types. 2009-09-03 Gabriel Dos Reis * boot/ast.boot (bfAlternative): New. Move single assignment in pattern matching to the body of the branch. (bfSequence): Use it. 2009-09-03 Gabriel Dos Reis * boot/ast.boot: More cleanup. 2009-09-02 Gabriel Dos Reis * interp/cstream.boot: Cleanup. * interp/g-boot.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-resolv.boot: Likewise. * interp/i-spec2.boot: Likewise. * interp/mark.boot: Likewise. * interp/nrungo.boot: Likewise. * interp/posit.boot: Likewise. * interp/sys-constants.boot: Define more constants. 2009-09-02 Gabriel Dos Reis * boot/ast.boot: More cleanup. * boot/includer.boot: Likewise. * boot/parser.boot: Likewise. * boot/scanner.boot: Likewise. 2009-08-30 Gabriel Dos Reis * boot/ast.boot (bfSequence): Simplify COND branch bodies. 2009-08-29 Gabriel Dos Reis * boot/parser.boot ($sawParenthesizedHead): Remove. (bpReturnType): Likewise. (bpBeginParameterList): Likewise. (bpEndParameterList): Likewise. (bpBeginDefinition): Likewise. (bpDefinition): Adjust. (bpVariable): Likewise. 2009-08-29 Gabriel Dos Reis * boot/ast.boot (bfCase): Don't hold scrutinee's remaining structure in a temporary. (bfCI): Adjust generation of selectors. 2009-08-29 Gabriel Dos Reis * boot/ast.boot (%Definition): Lose one argument. (bfDefinition): Remove. (bfSimpleDefinition): Likewise. (bfCompDef): Likewise. (bfDefSequence): Likewise. (defSheepAndGoats): Tidy. * boot/parser.boot (bpSimpleDefinitionTail): Likewise. (bpCompoundDefinitionTail): Likewise. (bpDefinitionPileItems): Likewise. (bpSemiColonDefinition): Likewise. * boot/translator.boot (translateToplevel): Likewise. 2009-08-29 Gabriel Dos Reis * boot/ast.boot: More cleanup. * boot/parser.boot: Likewise. * boot/translator.boot: Likewise. 2009-08-29 Gabriel Dos Reis * boot/ast.boot: Cleanup. 2009-08-29 Gabriel Dos Reis * boot/translator.boot (bpOutItem): Move to parser.boot. * boot/parser.boot (bpExceptionTail): Fix typo. (bpOutItem): Move from translator.boot. 2009-08-28 Gabriel Dos Reis * boot/ast.boot (bfCase): Don't introduce temporary for scrutinee when it is already reduced. 2009-08-27 Gabriel Dos Reis * boot/tokens.boot: "namespace" is now a keyword. * boot/ast.boot (%Ast): Add %Namespace branch. * boot/parser.boot (bpNamespace): New. (bpComma): Adjust. 2009-08-20 Gabriel Dos Reis Discontinue computation of difference between "old" and "new" Boot. * boot/ast.boot (bfGetOldBootName): Remove. (bfSameMeaning): Likewise. (bfReName): Don't compute the diff between old and new Boot. * boot/translator.boot ($translatingOldBoot): Remove. (AxiomCore::%sysInit): Don't set it. 2009-08-19 Gabriel Dos Reis * boot/ast.boot: Consistently prefix AST names by "%". * boot/translator.boot: Adjust. * boot/parser.boot: Likewise. 2009-08-17 Gabriel Dos Reis * boot/tokens.boot: Retire "^" as negation operator. * interp/br-search.boot: Use "not" instead of "^". * interp/br-util.boot: Likewise. * interp/database.boot: Likewise. * interp/define.boot: Likewise. * interp/format.boot: Likewise. * interp/g-error.boot: Likewise. * interp/i-analy.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-resolv.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-spec2.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/mark.boot: Likewise. * interp/modemap.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/spad-parser.boot: Likewise. * interp/trace.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise. 2009-08-17 Gabriel Dos Reis * interp/c-util.boot (deltaContour): Fix thinko. 2009-08-16 Gabriel Dos Reis * interp/compiler.boot (compAtom): Don't single out "nil". 2009-08-16 Gabriel Dos Reis * interp/i-map.boot (addMap): Fix typo from last commit. * 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-08-14 Gabriel Dos Reis * boot/tokens.boot: Retire "^=". Introduce "~=". * boot/ast.boot: Use "~=" instead of "^=". * boot/includer.boot: Likewise. * boot/translator.boot: Likewise. * interp/as.boot: Likewise. * interp/bc-misc.boot: Likewise. * interp/bc-solve.boot: Likewise. * interp/bc-util.boot: Likewise. * interp/br-con.boot: Likewise. * interp/br-data.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-op2.boot: Likewise. * interp/br-prof.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/br-search.boot: Likewise. * interp/br-util.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/c-util.boot: Likewise. * interp/category.boot: Likewise. * interp/cattable.boot: Likewise. * interp/clam.boot: Likewise. * interp/clammed.boot: Likewise. * interp/compiler.boot: Likewise. * interp/database.boot: Likewise. * interp/define.boot: Likewise. * interp/format.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-cndata.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/g-timer.boot: Likewise. * interp/g-util.boot: Likewise. * interp/guess.boot: Likewise. * interp/ht-root.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/i-analy.boot: Likewise. * interp/i-code.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-eval.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-intern.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-resolv.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-spec2.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/i-util.boot: Likewise. * interp/int-top.boot: Likewise. * interp/interop.boot: Likewise. * interp/intfile.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/macex.boot: Likewise. * interp/mark.boot: Likewise. * interp/match.boot: Likewise. * interp/modemap.boot: Likewise. * interp/msg.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/newfort.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/nrungo.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/parse.boot: Likewise. * interp/pathname.boot: Likewise. * interp/pf2atree.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/postpar.boot: Likewise. * interp/profile.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/record.boot: Likewise. * interp/scan.boot: Likewise. * interp/setvars.boot: Likewise. * interp/simpbool.boot: Likewise. * interp/slam.boot: Likewise. * interp/topics.boot: Likewise. * interp/trace.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise. * interp/word.boot: Likewise. 2009-08-05 Gabriel Dos Reis * OpenAxiom-1.3.0 Released. 2009-08-05 Gabriel Dos Reis * graph/view3D/stuff3d.c (norm_dist): Set third coordinate to zero. 2009-07-26 Gabriel Dos Reis * interp/c-doc.boot (checkDecorate): Tidy. * interp/format.boot (form2Fence1): Likewise. (form2FenceQuote): Likewise. 2009-07-24 Gabriel Dos Reis Fix SF/2798962 * interp/c-doc.boot (checkDecorate): Don't insert formatting braces in Spad mode. 2009-07-16 Gabriel Dos Reis * algebra/odeef.spad.pamphlet (ElementaryFunctionODESolver): Tidy. 2009-07-13 Gabriel Dos Reis * interp/g-opt.boot (optCatch): Lift nested functions. 2009-07-13 Gabriel Dos Reis * interp/metalex.lisp: "break" is now a keyword. * 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 Gabriel Dos Reis * algebra/mkfunc.spad.pamphlet (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-10 Alfredo Portes * lib/cfuns-c.c (writeablep): Use function LocalFree() in Windows instead of free(). 2009-07-06 Gabriel Dos Reis Fix SF/2815437 * algebra/mkfunc.spad.pamphlet: 2009-07-06 Gabriel Dos Reis * interp/compiler.boot (localReferenceIfThere): Tidy. * interp/g-util.boot (homogeneousListToVector): New. * interp/g-opt.boot (optCollectVector): Use it. 2009-07-05 Gabriel Dos Reis * src/algebra/poly.spad.pamphlet (PolynomialRing): Remove unused bogus times! function. 2009-07-05 Gabriel Dos Reis * interp/compiler.boot (coerceEasy): Don't pretend we can make matter our of void. * algebra/indexedp.spad.pamphlet (IndexedDirectProductAbelianMonoid): Tidy. (IndexedDirectProductAbelianGroup): Likewise. * src/algebra/poly.spad.pamphlet (PolynomialRing): Fix thinko. 2009-07-05 Gabriel Dos Reis * algebra/matstor.spad.pamphlet (copyCol!): Return Void. 2009-07-05 Gabriel Dos Reis * interp/sys-driver.boot (AxiomCore::%sysInit): Have CLISP not be overreading on floating point contagion warning. 2009-07-04 Gabriel Dos Reis * interp/c-util.boot ($middleEndMacroList): Remove COLLECTV. * interp/compiler.boot: Don't register compiler for COLLECTV forms. (compReduce1): Don't test for COLLECTV. (localReferenceIfThere): New. (compRepeatOrCollect): Use it. Tidy. (compCollectV): Remove. (compIteratorV): Likewise. (computeMaxIndex): Likewise. (exprDifference): Likewise. * interp/g-opt.boot (optCollectVector): New. Register as back end tranformer. * interp/sys-macros.lisp (COLLECTV): Remove. 2009-07-04 Gabriel Dos Reis * interp/c-util.boot (simplifySEQ): New. (transformToBackendCode): Use it. 2009-07-03 Gabriel Dos Reis * interp/sys-macros.lisp (PRIMVEC2ARR): Remove. (COLLECTVEC): Likewise. * interp/compiler.boot (compRepeatOrCollect): Tidy. 2009-07-02 Gabriel Dos Reis Support ECL-based build profiling. * lisp/Makefile.in (edit): Substitute for oa_enable_profiling. * lisp/core.lisp.in ($EnableLispProfiling): New. (compileLispFile): Use it. 2009-07-02 Gabriel Dos Reis * interp/sys-macros.lisp (COLLECTV): Use setSimpleArrayEntry, not SETELT. 2009-06-27 Gabriel Dos Reis * interp/i-spec1.boot (checkForFreeVariables): Emit getSimpleArrayEntry instead of ELT. 2009-06-23 Gabriel Dos Reis * interp/bootlex.lisp (spad): Don't bind $noSubsumption. * interp/i-spec1.boot (evalCOLLECT): Fix thinko. 2009-06-20 Gabriel Dos Reis * interp/category.boot (SigOpsubsume): Remove as unused. (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 Gabriel Dos Reis * algebra/domain.spad.pamphlet: ConstructorCall is now parameterized by the constructor category. 2009-06-16 Gabriel Dos Reis * interp/define.boot (doItConditionally): New. (doIt): Use it for capsule-level conditional expressions. 2009-06-15 Gabriel Dos Reis Fix SF/2396945 * interp/scan.boot: '@@' is no longer a keyword. * interp/cparse.boot (npColonQuery): Remove. * interp/parse.boot (parseAtAt): Likewise. * interp/postpar.boot (postAtAt): Likewise. 2009-06-15 Gabriel Dos Reis Fix SF/2806053 * lisp/Makefile.in: Remove generated files when cleaning. * interp/Makefile.pamphlet: Add executable extensions if appropriate. 2009-06-15 Gabriel Dos Reis * interp/define.boot (spadCompileOrSetq): Tidy. * interp/fnewmeta.lisp (PARSE-Sexpr1): Disable negative integers in data. A facility not actually used in Spad code. 2009-06-14 Gabriel Dos Reis * interp/fnewmeta.lisp (PARSE-Scheme): Tidy. * interp/format.boot (dollarPercentTran): Translate T$ too. (application2String): Handle quasiquotations. * interp/postpar.boot (killColons): Don't remove quantified variables. 2009-06-14 Gabriel Dos Reis * algebra/any.spad.pamphlet (Any): Remove domainOf, objectOf, and showTypeInOutput. Tidy. * algebra/fortran.spad.pamphlet: Coerce Any objects to Output; don't use objectOf. 2009-06-14 Gabriel Dos Reis Add support for existential type recovery. * 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 Gabriel Dos Reis * algebra/any.spad.pamphlet (AnyFunctions1): Remove `pretend' 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-13 Gabriel Dos Reis * interp/sys-constants.boot ($defaultOptimizationLevel): New. * interp/sys-driver.boot (initializeGlobalState): Use it for default initialization level. 2009-06-13 Gabriel Dos Reis Support multiple scrutinee in is-case pattern matching. * interp/compiler.boot (compRetractGruard): Rename from compRetractAlternative. Split. (compRecoverGuard): Rename from compRecoverAlternative. Split. (compAlternativeGuardItem): New. Use them. (compAlternativeGuard): New. (compMatchAlternative): New. Split from compMatch. (compMatchScrutinee): Likewise. (defineMatchScrutinee): Likewise. (compMatch): Rework. 2009-06-13 Gabriel Dos Reis * driver/utils.c (openaxiom_execute_core): Workaround GCL oddity. 2009-06-12 Gabriel Dos Reis * interp/i-coerce.boot: Revert previous patch. * interp/i-funsel.boot: Likewise. 2009-06-12 Gabriel Dos Reis Support retract of domains. * interp/i-funsel.boot (findFunctionInDomain): Don't look into categories. * interp/i-coerce.boot (retract): Retract domain objects too. (retract1): Do it. (coerceInteractive): Likewise. * interp/nrunfast.boot (getDomainCategoriesVector): New. (getDomainCompleteCategories): Likewise. 2009-06-11 Gabriel Dos Reis * algebra/: Don't quote '!' at end of names. 2009-06-11 Gabriel Dos Reis * algebra/: Remove quotes from operator namaes in signatures. 2009-06-11 Gabriel Dos Reis * interp/newaux.lisp: Remove digraphs '(<' and '>) as alternate spelling for '{' and '}'. * interp/fnewmeta.lisp (|PARSE-Primary1|): Use PARSE-Data for quoted forms. (|PARSE-Sexpr1|): Tidy. * interp/parse.boot (washOperatorName): New. Issue deprecation diagnostics for string syntax for operator names in signatures. (parseHas): Use it. (transCategoryItem): Likewise. * interp/metalex.lisp (advance-token): Likewise. * algebra/boolean.spad.pamphlet: Tidy. 2009-06-11 Gabriel Dos Reis * interp/info.boot (actOnInfo): Don't remember new domain names if at capsule function scope. 2009-06-10 Gabriel Dos Reis * interp/parse.boot (parseDropAssertions): Remove. (parseCategory): Don't call it. * interp/nrungo.boot (lookupPred): Don't check for "asserted". 2009-06-10 Gabriel Dos Reis * interp/parse.boot (parseHas): Preserve unnamed category forms. * interp/i-funsel.boot (hasCaty): Recursively look into Joins. * interp/interop.boot (newHasCategory): Likewise. * interp/compiler.boot (compHasFormat): Handle unnamed categories. * interp/info.boot (knownInfo): Likewise. 2009-06-09 Gabriel Dos Reis * interp/i-coerfn.boot (Expr2Up): Fix regression introduced by name$Kernel removal. 2009-06-09 Gabriel Dos Reis * interp/compiler.boot (compLogicalNot): Tidy. * interp/define.boot (doIt): Tidy conditional case. * boot/tokens.boot: 'fourth' is a now a builtin function. 2009-06-07 Gabriel Dos Reis * algebra/kl.spad.pamphlet (Kernel): Tidy. 2009-06-07 Gabriel Dos Reis Fix SF/2799773 * interp/c-util.boot (diagnoseUnknownType): Diagnose duplicate fields in Record or Union, or duplicate constants in Enumeration. * interp/i-eval.boot (checkRecordOrUnionFields): New. (evaluateType): Use it. * testsuite/interpreter/sf-2799773.input: New. 2009-06-07 Gabriel Dos Reis * algebra/kl.spad.pamphlet (name$Kernel): Remove. * algebra/d01weights.spad.pamphlet: Adjust. * algebra/fs2expxp.spad.pamphlet: Likewise. * algebra/fs2ups.spad.pamphlet: Likewise. * algebra/fspace.spad.pamphlet: Likewise. * algebra/limitps.spad.pamphlet: Likewise. * algebra/transsolve.spad.pamphlet: Likewise. 2009-06-06 Gabriel Dos Reis * algebra/domain.spad.pamphlet (DomainTemplate): New. (FunctorData): Likewise. (functorData$DomainConstructor): Likewise. 2009-06-01 Gabriel Dos Reis Simplify compiler ast for `return' expressions. * interp/parse.boot (parseReturn): Remove. * interp/compiler.boot (compReturn): Tidy. 2009-06-01 Gabriel Dos Reis Fix SF/2799238 * algebra/syntax.spad.pamphlet (SpadAst): Fix typo. 2009-06-01 Gabriel Dos Reis * interp/compiler.boot (compGreaterThan): Remove. * interp/parse.boot (parseGreaterEqual): Likewise. 2009-06-01 Gabriel Dos Reis * interp/compiler.boot (compGreaterThan): New. Compile greater-than expressions. * interp/parse.boot (parseGreaterThan): Remove. * algebra/data.spad.pamphlet (Byte): Implement all comparison functions. * algebra/integer.spad.pamphlet (Integer): Likewise. * algebra/sf.spad.pamphlet (DoubleFloat): Likewise. * algebra/si.spad.pamphlet (SingleInteger): Likewise. * algebra/string.spad.pamphlet (Character): Likewise. 2009-05-31 Gabriel Dos Reis * algebra/term.spad.pamphlet (is?$OperatorCategory): New. * algebra/op.spad.pamphlet (BasicOperator): Don't export is? here. Inherit it from OperatorCategory Symbol. * algebra/catdef.spad.pamphlet (LeftLinearSet): New category. (RightLinearSet): Likewise. (LinearSet): Likewise. (AbelianGroup): Extend LeftLinearSet Integer. (LeftModule): Extend LeftLinearSet R. (Module): Extend LinearSet R. (RightModule): Extend RightLinearSet R. * algebra/exposed.lsp.pamphlet: Expose LeftLinearSet, RightLinearSet, and LinearSet. * algebra/Makefile.pamphlet: Tidy. 2009-05-29 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (SetCategory): Provide default definition for before?. 2009-05-29 Gabriel Dos Reis * algebra/complet.spad.pamphlet (OnePointCompletion): Define before?. 2009-05-29 Gabriel Dos Reis * algebra/algext.spad.pamphlet: Qualify `characteristic'. * algebra/clifford.spad.pamphlet: Likewise. * algebra/complet.spad.pamphlet: Likewise. * algebra/contfrac.spad.pamphlet: Likewise. * algebra/curve.spad.pamphlet: Likewise. * algebra/ddfact.spad.pamphlet: Likewise. * algebra/derham.spad.pamphlet: Likewise. * algebra/equation2.spad.pamphlet: Likewise. * algebra/ffcat.spad.pamphlet: Likewise. * algebra/ffcg.spad.pamphlet: Likewise. * algebra/fff.spad.pamphlet: Likewise. * algebra/ffnb.spad.pamphlet: Likewise. * algebra/ffp.spad.pamphlet: Likewise. * algebra/ffpoly.spad.pamphlet: Likewise. * algebra/ffx.spad.pamphlet: Likewise. * algebra/fmod.spad.pamphlet: Likewise. * algebra/fortmac.spad.pamphlet: Likewise. * algebra/fr.spad.pamphlet: Likewise. * algebra/fraction.spad.pamphlet: Likewise. * algebra/fspace.spad.pamphlet: Likewise. * algebra/gaussian.spad.pamphlet: Likewise. * algebra/gpol.spad.pamphlet: Likewise. * algebra/intclos.spad.pamphlet: Likewise. * algebra/interval.spad.pamphlet: Likewise. * algebra/laurent.spad.pamphlet: Likewise. * algebra/matrix.spad.pamphlet: Likewise. * algebra/modring.spad.pamphlet: Likewise. * algebra/oct.spad.pamphlet: Likewise. * algebra/opalg.spad.pamphlet: Likewise. * algebra/padic.spad.pamphlet: Likewise. * algebra/perman.spad.pamphlet: Likewise. * algebra/pf.spad.pamphlet: Likewise. * algebra/pfr.spad.pamphlet: Likewise. * algebra/poly.spad.pamphlet: Likewise. * algebra/polycat.spad.pamphlet: Likewise. * algebra/puiseux.spad.pamphlet: Likewise. * algebra/quat.spad.pamphlet: Likewise. * algebra/radix.spad.pamphlet: Likewise. * algebra/reclos.spad.pamphlet: Likewise. * algebra/resring.spad.pamphlet: Likewise. * algebra/sf.spad.pamphlet: Likewise. * algebra/si.spad.pamphlet: Likewise. * algebra/solvefor.spad.pamphlet: Likewise. * algebra/sups.spad.pamphlet: Likewise. * algebra/taylor.spad.pamphlet: Likewise. * algebra/vector.spad.pamphlet: Likewise. * algebra/xpoly.spad.pamphlet: Likewise. 2009-05-29 Gabriel Dos Reis Fix SF/2798220 * algebra/fmod.spad.pamphlet (IntegerMod): Define before? * algebra/ffp.spad.pamphlet (FiniteFieldExtensionByPolynomial): Likewise. * algebra/pf.spad.pamphlet (InnerPrimeField): Likewise. * testsuite/interpreter/sf-2798220.input: New. 2009-05-28 Gabriel Dos Reis * interp/compiler.boot (getSuccessEnvironment): Tidy. (getInverseEnvironment): Likewise. (compLogicalNot): Don't normalize to if-statement. 2009-05-28 Gabriel Dos Reis * interp/compiler.boot (compVector): Tidy code generation. (checkExternalEntity): Handle Builtin external entities. (compSignatureImport): Likewise. * algebra/boolean.spad.pamphlet (Boolean): Import Lisp function from Foreign Builtin. (KleeneTrivalentLogic): The constant `true' and `false' are now inherited. 2009-05-28 Gabriel Dos Reis * algebra/boolean.spad.pamphlet (PropositionalLogic): Now export `true' and `false'. (Boolean): Inherit them. 2009-05-27 Gabriel Dos Reis * interp/newaux.lisp: Bot / and /\ are gliphs. * interp/sys-constants.boot ($OperatorFunctionNames): Include /\ and \/. * interp/fnewmeta.lisp (|PARSE-ReductionOp|): Tidy. * interp/metalex.lisp (|PARSE-OperatorFunctionName|): Likewise. * algebra/boolean.spad.pamphlet (PropositionalLogic): Use plain syntax for operators. (Logic): Likewise. (Boolean): Likewise. (KleeneTrivalentLogic): Likewise. 2009-05-25 Gabriel Dos Reis * interp/sys-constants.boot ($OperatorFunctionNames): New. * interp/metalex.lisp (|PARSE-OperatorFunctionName|): New. Use it. * interp/fnewmeta.lisp (|PARSE-Category|): Handle operator function names. 2009-05-25 Gabriel Dos Reis * algebra/kl.spad.pamphlet (KernelFunctions2): Remove OrderedSet requirements. * algebra/op.spad.pamphlet (BasicOperatorFunctions1): Likewise. 2009-05-25 Gabriel Dos Reis Partial fix for AW/193 and AW/334. * algebra/algfunc.spad.pamphlet: Remove OrderedSet requirements. * algebra/combfunc.spad.pamphlet: Likewise. * algebra/defintef.spad.pamphlet: Likewise. * algebra/defintrf.spad.pamphlet: Likewise. * algebra/degred.spad.pamphlet: Likewise. * algebra/efstruc.spad.pamphlet: Likewise. * algebra/elemntry.spad.pamphlet: Likewise. * algebra/expexpan.spad.pamphlet: Likewise. * algebra/expr.spad.pamphlet: Likewise. * algebra/expr2ups.spad.pamphlet: Likewise. * algebra/exprode.spad.pamphlet: Likewise. * algebra/fortran.spad.pamphlet: Likewise. * algebra/fr.spad.pamphlet: Likewise. * algebra/fraction.spad.pamphlet: Likewise. * algebra/fs2expxp.spad.pamphlet: Likewise. * algebra/fspace.spad.pamphlet: Likewise. * algebra/funcpkgs.spad.pamphlet: Likewise. * algebra/gaussian.spad.pamphlet: Likewise. * algebra/genups.spad.pamphlet: Likewise. * algebra/intalg.spad.pamphlet: Likewise. * algebra/intef.spad.pamphlet: Likewise. * algebra/integrat.spad.pamphlet: Likewise. * algebra/intpm.spad.pamphlet: Likewise. * algebra/irexpand.spad.pamphlet: Likewise. * algebra/kl.spad.pamphlet: Likewise. * algebra/laplace.spad.pamphlet: Likewise. * algebra/limitps.spad.pamphlet: Likewise. * algebra/liouv.spad.pamphlet: Likewise. * algebra/manip.spad.pamphlet: Likewise. * algebra/nlode.spad.pamphlet: Likewise. * algebra/odeef.spad.pamphlet: Likewise. * algebra/oderf.spad.pamphlet: Likewise. * algebra/openmath.spad.pamphlet: Likewise. * algebra/patmatch1.spad.pamphlet: Likewise. * algebra/patmatch2.spad.pamphlet: Likewise. * algebra/pfo.spad.pamphlet: Likewise. * algebra/polycat.spad.pamphlet: Likewise. * algebra/primelt.spad.pamphlet: Likewise. * algebra/rdeef.spad.pamphlet: Likewise. * algebra/rdesys.spad.pamphlet: Likewise. * algebra/rule.spad.pamphlet: Likewise. * algebra/solverad.spad.pamphlet: Likewise. * algebra/sum.spad.pamphlet: Likewise. * algebra/transsolve.spad.pamphlet: Likewise. * testsuite/interpreter/aw-193.input: New. * testsuite/interpreter/aw-334.input: Likewise. 2009-05-21 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (before?$SetCategory): New. 2009-05-21 Gabriel Dos Reis * interp/cparse.boot (npQuantified): New. (npType): Use it. (npDefinitionOrStatement): Likewise. Accept quantified expressions. (npMatch): Remove. (npDef): Adjust. (npMonoType): Likewise. (npDiscrim): Recognize 'is' and 'isnt' patterns. 2009-05-18 Gabriel Dos Reis * interp/vmlisp.lisp (LIST2VEC): Tidy. 2009-05-18 Gabriel Dos Reis * interp/i-analy.boot (bottomUpDefaultEval): A declared variable with no definition may be a symbolic variable with a specified type. 2009-05-18 Gabriel Dos Reis * algebra/curve.spad.pamphlet: Use literal symbols. * algebra/defintef.spad.pamphlet: Likewise. * algebra/defintrf.spad.pamphlet: Likewise. * algebra/divisor.spad.pamphlet: Likewise. * algebra/efstruc.spad.pamphlet: Likewise. * algebra/exprode.spad.pamphlet: Likewise. * algebra/fspace.spad.pamphlet: Likewise. * algebra/intaf.spad.pamphlet: Likewise. * algebra/intef.spad.pamphlet: Likewise. * algebra/integrat.spad.pamphlet: Likewise. * algebra/intpm.spad.pamphlet: Likewise. * algebra/laplace.spad.pamphlet: Likewise. * algebra/limitps.spad.pamphlet: Likewise. * algebra/liouv.spad.pamphlet: Likewise. * algebra/odeef.spad.pamphlet: Likewise. * algebra/oderf.spad.pamphlet: Likewise. * algebra/rdeef.spad.pamphlet: Likewise. * algebra/symbol.spad.pamphlet: Likewise. * algebra/transsolve.spad.pamphlet: Likewise. 2009-05-17 Gabriel Dos Reis * algebra/op.spad.pamphlet: Use symbol literals for property names. 2009-05-17 Gabriel Dos Reis * interp/cparse.boot (npTyping): Remove. (npDefaultItemlist): Likewise. (npSDefaultItem): Likewise. (npDefaultItem): Likewise. (npDefaultDecl): Likewise. (npStatement): Don't call npTyping. (npDefinitionItem): Likewise. 2009-05-16 Gabriel Dos Reis * algebra/op.spad.pamphlet (assert$BasicOperator): Remove overload with String parameter, 2009-05-15 Gabriel Dos Reis * algebra/any.spad.pamphlet: Tidy. Redeuce Lisp usage. 2009-05-15 Gabriel Dos Reis * algebra/algfunc.spad.pamphlet (AlgebraicFunction): User Identifiers for property names. * algebra/combfunc.spad.pamphlet: Likewise. * algebra/constant.spad.pamphlet: Likewise. * algebra/efstruc.spad.pamphlet: Likewise. * algebra/elemntry.spad.pamphlet: Likewise. * algebra/expr.spad.pamphlet: Likewise. * algebra/fspace.spad.pamphlet: Likewise. * algebra/intef.spad.pamphlet: Likewise. * algebra/integrat.spad.pamphlet: Likewise. * algebra/kl.spad.pamphlet: Likewise. * algebra/laplace.spad.pamphlet: Likewise. * algebra/limitps.spad.pamphlet: Likewise. * algebra/liouv.spad.pamphlet: Likewise. * algebra/rdeef.spad.pamphlet: Likewise. * algebra/pfo.spad.pamphlet: Likewise. * algebra/op.spad.pamphlet: Likewise. * algebra/odeef.spad.pamphlet: Likewise. * algebra/manip.spad.pamphlet: Likewise. 2009-05-15 Gabriel Dos Reis * algebra/expr.spad.pamphlet (FunctionSpaceAttachPredicates): Tidy. (FunctionSpaceAssertions): Likewise. * algebra/op.spad.pamphlet (BasicOperator): Tidy. (CommonOperators): Likewise. 2009-05-15 Gabriel Dos Reis * algebra/op.spad.pamphlet (assert$BasicOperator): Overload for Identifier. 2009-05-14 Gabriel Dos Reis * algebra/any.spad.pamphlet (RuntimeValue): New domain. * algebra/Makefile.pamphlet ($(OUT)/RTVALUE.$(FASLEXT)): New rule. 2009-05-14 Michael Becker Fix SF/2790725 (take 2) * driver/main.c (main): Set LC_ALL to C. * hyper/ex2ht.c (main): Likewise. * hyper/htadd.c (main): Likewise. * hyper/hthits.c (main): Likewise. * hyper/hyper.c (main): Likewise. * hyper/spadbuf.c (main): Likewise. * clef/edible.c (main): Likewise. * sman/session.c (main): Likewise. * sman/sman.c (main): Likewise. * sman/spadclient.c (main): Likewise. 2009-05-14 Gabriel Dos Reis * algebra/kl.spad.pamphlet (SortedCache): Use Reference List S. 2009-05-13 Gabriel Dos Reis Fix SF/2790725 * driver/main.c (main): Set locale to nothing. * hyper/ex2ht.c (main): Likewise. * hyper/htadd.c (main): Likewise. * hyper/hthits.c (main): Likewise. * hyper/hyper.c (main): Likewise. * hyper/spadbuf.c (main): Likewise. * clef/edible.c (main): Likewise. * sman/session.c (main): Likewise. * sman/sman.c (main): Likewise. * sman/spadclient.c (main): Likewise. 2009-05-13 Gabriel Dos Reis * algebra/kl.spad.pamphlet (MakeCachableSet): Remove. * algebra/Makefile.pamphlet (axiom_algebra_layer_6): Don't build it. 2009-05-11 Gabriel Dos Reis * interp/property.lisp: "not" is prefix operator with "not " for rendering. * interp/i-output.boot ($allClassicOps): Include not. * algebra/boolean.spad.pamphlet (PropositionalFormula): Rework. 2009-05-10 Gabriel Dos Reis * boot/translator.boot: Don't load imported modules when bootstrapping. 2009-05-10 Gabriel Dos Reis Cope with SBCL-1.0.28 improvements. * boot/translator.boot (translateToplevel): Load imported modules. * boot/ast.boot ($constantIdentifiers): New. ($activeNamespace): Likewise. (bfSimpleDefinition): Likewise. (isDynamicVariable): Likewise. (shoeCompTran1): Tidy. Use it. * boot/parser.boot (bpSimpleDefinitionTail): Use bfSimpleDefinition. * boot/Makefile.in (stage1/%.clisp): Specify load directory. (stage2/%.clisp): Likewise. * lisp/core.lisp.in (startCompileDuration): Export. (endCompileDuration): Likewise. 2009-05-10 Gabriel Dos Reis * interp/nrunopt.boot (makeGoGetSlot): Adjust call to makeCompactSigCode. (makeCompactDirect1): Likewise. (makeCompactSigCode): Drop second parameter. 2009-05-10 Gabriel Dos Reis * interp/g-opt.boot (emitIndirectCall): New. (optCall): Use it. (optSpecialCall): Likewise. (optSPADCALL): Tidy. 2009-05-09 Gabriel Dos Reis * algebra/term.spad.pamphlet (zero?$Arity): New. (one?$Arity): Likewise. * algebra/op.spad.pamphlet (BasicOperator): Now belongs to OperatorCategory(Symbol). (operator$BasicOperator): One more overload. * algebra/expr.spad.pamphlet (operator$Expression): Tidy. * algebra/fspace.spad.pamphlet (elt$ExpressionSpace): Likewise. * algebra/kl.spad.pamphlet (kernel$Kernel): Likewise. 2009-05-09 Gabriel Dos Reis * interp/compiler.boot (compApplication): Tidy. 2009-05-05 Gabriel Dos Reis * algebra/op.spad.pamphlet (property$BasicOperator): Overload with a version that takes an identifier. (deleteProperty$BasicOpetrator): Likewise. (setProperty$BasicOperator): Likewise. 2009-05-05 Gabriel Dos Reis Fix SF/2785271 * interp/sys-constants.boot ($Primitives): Remove. * interp/br-con.boot (conOpPage1): Replace $Primitives by $DomainNames. (dbShowConsDoc1): Likewise. * interp/buildom.boot ($nonLisplibDomains): Likewise. * interp/br-op2.boot (kFormatSlotDomain): isConstructorName. * interp/br-saturn.boot (bfConform1): Handle string literals as constructor arguments. 2009-04-28 Gabriel Dos Reis * interp/define.boot (canCacheLocalDomain): Remove dead code. 2009-04-28 Gabriel Dos Reis * interp/compiler.boot (compComma): Supply element type for tuple construction. * interp/i-coerfn.boot (L2Tuple): Likewise. * interp/i-object.boot (asTupleNew): Likewise. (asTupleNew0): Likewise. (asTupleNewCode): Likewise. (asTupleNewCode0): Likewise. * interp/i-spec1.boot (evalCOLLECT): Likewise. (interpCOLLECT): Likewise. * interp/i-spec2.boot (evalTuple): Likewise. (upNullTuple): Likewise. 2009-04-26 Gabriel Dos Reis > Fix SF/2781848 * interp/daase.lisp (make-databases): Build glossary files too. * interp/br-data.boot (buildGloss): gloss.text now lives in doc/. * interp/br-search.boot (grepSource): Likewise. * interp/ht-root.boot (htGlossPage): Likewise. * etc/Makefile.in (openaxiom_glossfiles): New. (mostlyclean-local): Remove them too. (stamp-databases): Now copy glossary files too. * doc/Makefile.in ($(OUT)/gloss.text): New rule. (stamp): Make it a prerequisite. * Makefile.pamphlet (all-databases): Make all-doc a prerequisite. (all-hyper-post): Likewise. * doc/gloss.text: Resurect. 2009-04-26 Gabriel Dos Reis > * interp/sys-macros.lisp (makeSimpleArrayFromList): New. * algebra/array1.spad.pamphlet (construct$PrimitiveArray): Implement. (copy$PrimitiveArray): Likewise. (IndexedOneDimensionalArray): Rework. Explicitly use PrimitiveArray(S) as representation domain. 2009-04-26 Gabriel Dos Reis > * algebra/domain.spad.pamphlet (Constructor): Use Identifier. 2009-04-26 Gabriel Dos Reis * algebra/newpoint.spad.pamphlet (point$Point): Call vector$Vector. * algebra/array1.spad.pamphlet (fill!$PrimitiveArray): Use builtin operation. 2009-04-25 Gabriel Dos Reis * algebra/strap/PRIMARR.lsp: Remove. 2009-04-24 Gabriel Dos Reis * algebra/syntax.spad.pamphlet (new$Identifier): New. 2009-04-24 Gabriel Dos Reis * algebra/strap/ULSCAT.lsp: Remove. 2009-04-24 Gabriel Dos Reis * algebra/strap/UPOLYC.lsp: Remove. * algebra/strap/UPOLYC-.lsp: Likewise. 2009-04-23 Gabriel Dos Reis * algebra/strap/PSETCAT-.lsp: Remove. * algebra/strap/PSETCAT.lsp: Likewise. 2009-04-23 Gabriel Dos Reis * algebra/strap/TSETCAT.lsp: Remove. * algebra/strap/TSETCAT-.lsp: Likewise. 2009-04-23 Gabriel Dos Reis * interp/c-util.boot (extendsCategoryForm): Use current category body instead of previous previous version of it. * algebra/Makefile.pamphlet: Remove ES from bootstrap layer. Build it (and dependencies) at layer 1. * algebra/strap/ES.lsp: Remove. * algebra/strap/ES-.lsp: Likewise. * algebra/boolean.spad.pamphlet (Boolean): Don't use outputForm. 2009-04-23 Gabriel Dos Reis * interp/compiler.boot ($IOFormDomains): New. (compAtom): Allow implicit coercion to IO forms for values of fundamental types. (compSymbol): Likewise. (compQuote): Likewise. * algebra/aggcat.spad.pamphlet (coerce$BinaryRecursiveAggregate): Don't hard code empty bracket. 2009-04-22 Gabriel Dos Reis * interp/sys-constants.boot ($SystemInlinableConstructorNames): Include Identifier. * interp/compiler.boot (compElt): Fix up 0 and 1 shenannigan. * algebra/boolean.spad.pamphlet (Reference): Use Identifier. * algebra/Makefile.pamphlet (axiom_algebra_bootstrap): Remove REF. (axiom_algebra_bootstrap_last_layer): Likewise. * algebra/strap/REF.lsp: Remove. 2009-04-21 Gabriel Dos Reis * algebra/Makefile.pamphlet: Move aggregates to layer 0. 2009-04-20 Gabriel Dos Reis * algebra/Makefile.pamphlet: Move Fortran domains to user layer. 2009-04-20 Gabriel Dos Reis * interp/sys-constants.boot ($Identifier): New. * interp/compiler.boot (compQuote): Use the target mode if appropriate. * interp/i-spec2.boot (upQUOTE): Likewise. * algebra/syntax.spad.pamphlet: Use Identifier in lieu of Symbol. 2009-04-20 Gabriel Dos Reis * interp/br-con.boot: Use textEditor() to get editor program. * interp/br-saturn.boot: Likewise. * interp/compat.boot: Likewise. * interp/i-util.boot (textEditor): Define here. * interp/g-util.boot: Likewise. 2009-04-20 Gabriel Dos Reis * interp/msgdb.boot (substituteSegmentedMsg): Handle %x specifier. 2009-04-19 Gabriel Dos Reis * boot/ast.boot (genECLnativeTranslation): Tidy. (genSBCLnativeTranslation): Likewise. * interp/compiler.boot (emitLocalCallInsn): Likewise. (compForm1): Allow package call to external function. (compElt): Likewise. (getExternalSymbolMode): New. (compForeignPackageCall): Likewise. 2009-04-19 Gabriel Dos Reis * algebra/any.spad.pamphlet (Binding): Define Rep. Tidy. (Contour): Likewise. (findBinding$Contour): Now return Maybe Binding. (findBinding$Scope): Likewise. (getProperties$Environment): Just return List Binding. (interactiveEnv$Environment): New. 2009-04-19 Gabriel Dos Reis * algebra/mkfunc.spad.pamphlet (tuplify$InputForm): Tidy. * interp/i-output.boot (parms2String): New. (inputForm2String): Handle anonymous functions. 2009-04-18 Gabriel Dos Reis * algebra/mkfunc.spad.pamphlet (InputForm): Remove assignment to Rep. (convert): Use per and rep operators. * algebra/stap: Updated cached Lisp translation. 2009-04-18 Gabriel Dos Reis Fix SF/2757715 * Makefile.pamphlet (all-input): Make all-doc a requirement. (all-doc): Tidy. * doc/Makefile.in: Likewise. Install help files. * doc/help: New. Home for help files. 2009-04-16 Gabriel Dos Reis Fix SF/2763053 * interp/sys-os.boot ($NaNvalue): Remove. (quietDoubleNaN): Import. * include/cfuns.h (quiet_double_NaN): Rename from NANQ. * lib/cfuns-c.c (quiet_double_NaN): Likewise. * algebra/draw.spad.pamphlet: Replace $NaNvalue with quietDoubleNaN. * algebra/plot.spad.pamphlet: Likewise. * algebra/plot3d.spad.pamphlet: Likewise. 2009-04-15 Gabriel Dos Reis Fix SF/2760823 * interp/sys-driver.boot (systemMain): Explicitly call toplevel REPL for SBCL- and ECL-based builds. * interp/i-toplev.boot (start): Don't special case SBCL here. * interp/int-top.boot (spad): Likewise. (intloop): Tidy call to SpadInterpretStream. (SpadInterpretStream): Don't store to $fn. * interp/msg.boot (toFile?): Don't check for $fn. 2009-04-14 Gabriel Dos Reis Fix SF/2760553 * lisp/core.lisp.in (associateRequestWithFileType): Remember FILE-TYPE as default value for REQUEST. (|processCommandLine|): Standard options have length at least 2. (|handleCommandLine|): Use default file type if non is present. 2009-04-13 Gabriel Dos Reis Fix SF/2760823 * interp/int-top.boot (spad): Return 0 for when SBCL is base Lisp runtime. * interp/i-toplev.boot (start): Likewise. 2009-04-13 Gabriel Dos Reis Fix SF/2760560 * driver/utils.h (openaxiom_driver): Add openaxiom_null_driver. Document all of them. * driver/utils.c (print_line): New. (print_version): Print version information. (print_usage): Print option documentation. (openaxiom_preprocess_arguments): Handle --help and --version. * driver/main.c (main): Do nothing for the null driver. * sman/sman.c (process_arguments): Accept long form of options. 2009-04-13 Gabriel Dos Reis Fix SF/2757748 * hyper/Makefile.in (${OUTLIB}/htsearch): Insist on execution bit. (${OUTLIB}/presea): Likewise. 2009-04-11 Gabriel Dos Reis Fix SF/2754400 * interp/setvars.boot (setOutputFortran): Transform pathname from symbol to string. * testsuite/interpreter/sf-2754400.input: New. 2009-04-11 Gabriel Dos Reis Fix SF/2749682 * interp/sys-os.boot ($NaNvalue): Fix typo. * testsuite/interpreter/sf-2749682.input: New. 2009-04-08 Gabriel Dos Reis Fix SF/2564917 * lisp/core.lisp.in: Default the read to DOUBLE-FLOAT for floating point literals. * boot/translator.boot (BOOTTOCLLINES): Don't set it here. 2009-04-08 Gabriel Dos Reis * interp/scan.boot (scanCheckRadix): Take the radix in string form. Croak on missing digit after radix. (scanNumber): Don't ask for implicit 0 completion for explicit radix integers. * interp/int-top.boot (phInterpret): Don't bother evaluating expressions if earlier phases saw errors. * interp/msg.boot (getStFromMsg): Fix typo. 2009-04-06 Gabriel Dos Reis * boot/ast.boot: Support more ISO C sized integer type in FFI. 2009-03-26 Gabriel Dos Reis * boot/ast.boot (nativeType): Accept int16 and int32. (getFFIDatatype): Accept ReadWrite modifier. * algebra/data.spad.pamphlet (Int32): New. (UInt64): Likewise. * algebra/Makefile.pamphlet (axiom_algebra_layer_7): Include INT64 and UINT64. 2009-03-25 Gabriel Dos Reis * clef/edible.c (main): Properly null-terminate varargs call. 2009-03-08 Gabriel Dos Reis * interp/fnewmeta.lisp (PARSE-Import): Parse extern entity signature import. * interp/functor.boot (encodeLocalFunctionName): New. * interp/define.boot (compDefine1): Avoid getAbbreviation. (doIt): Handle %SignatureImport nodes. * interp/compiler.boot (emitLocalCallInsn): New. (applyMapping): Use it. (compApplication): Likewise. (bootDenotation): New. (getBasicFFIType): Likewise. (getFFIDatatype): Likewise. (getBootType): Likewise. (checkExternalEntityType): Likewise. (checkExternalEntity): Likewise. (removeModifiers): Likewise. (compSignatureImport): Likewise. * interp/vmlisp.lisp (|compileLispDefinition|): New. * interp/boot-pkg.lisp: Import genImportDeclaration. * boot/initial-env.lisp: Export genImportDeclaration. * boot/ast.boot: Tidy. Accept `readwrite' modifier. 2009-03-02 Gabriel Dos Reis * interp/compiler.boot (modeIsAggregateOf): Use RepIfRepHack. * interp/g-opt.boot (optimizeFunctionDef): Tidy. * interp/i-syscmd.boot (compileSpad2Cmd): Support ')report' option. * interp/sys-driver.boot (initializeGlobalState): Likewise. 2009-03-01 Gabriel Dos Reis * interp/g-opt.boot (optimize): Remove non-qualified interpretation of 'false' and 'true'. (optCond): Emit 'NOT', not 'NULL'. (optIF2COND): Likewise. (EqualBarGensym): Tidy. 2009-03-01 Gabriel Dos Reis * interp/compiler.boot (compTopLevel): Initialize list of optimizable domain constructors. (processInlineRequest): New. * interp/define.boot (spadCompileOrSetq): Tidy. (mutateToNothing): New. (doIt): Use it. Add support for inline directives. * interp/fnewmeta.lisp (PARSE-Inline): New. * interp/metalex.lisp (KEYWORDS): Include 'inline'. 2009-02-28 Gabriel Dos Reis * interp/nruncomp.boot (genDeltaEntry): Return optimized implementation after slot allocation. * share/algebra: Update databases. * algebra/strap: Update cached Lisp translation. 2009-02-28 Gabriel Dos Reis * interp/define.boot (NRTPARSE): Remove. (mkCategoryPackage): Remove dead code. (compDefineFunctor1): Tidy. (compDefineCapsuleFunction): Likewise. (compileCases): Likewise. 2009-02-27 Gabriel Dos Reis * lisp/core.lisp.in ($ECLVersionNumber): New. * boot/ast.boot (genECLnativeTranslation): Use it. 2009-02-22 Gabriel Dos Reis * interp/compiler.boot (compAtom): Don't interpret 'nil' as empty vector. (compSymbol): Don't interpret 'true' and 'false' as Boolean constants if domain Boolean is not in scope. * algebra/any.spad.pamphlet (Property): Tidy. * algebra/asp.spad.pamphlet (Asp34): Likewise. * algebra/functions.spad.pamphlet (BasicFunctions): Likewise. * algebra/lodop.spad.pamphlet (OppositeMonogenicLinearOperator): Likewise. * algebra/groebsol.spad.pamphlet: Import Boolean. 2009-02-22 Gabriel Dos Reis * interp/util.lisp (MAKESPAD): Remove. (MAKELIB): Likewise. (tr): Likewise. (MAKE-TAGS-FILE): Likewise. (SPADTAGS-FROM-DIRECTORY): Likewise. (SPADTAGS-FROM-FILE): Likewise. (WRITE-TAG-LINE): Likewise. (FINDTAG): Likewise. (MATCH-LISP-TAG): Likewise. (BLANKCHARP): Likewise. 2009-02-22 Gabriel Dos Reis * interp/msgdb.boot: Avoid SETANDFILEQ. 2009-02-21 Gabriel Dos Reis * interp/compiler.boot (compRetractAlternative): Don't store pointers to the environment. (compRecoverAlternative): Likewise. (compMatch): Likewise. (compIterator): Likewise. (compIteratorV): Likewise. * interp/define.boot (checkRepresentation): Likewise. * interp/info.boot (actOnInfo): Likewise. 2009-02-19 Gabriel Dos Reis * interp/sys-utility.boot (%hostByteOrder): Make a function. * algebra/system.spad.pamphlet (hostByteOrder$System): Adjust call. 2009-02-19 Aleksej Saushev * lib/openpty.c: Include when testing for openpty. 2009-02-19 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (characteristic$Ring): Make a constant. * algebra/naalgc.spad.pamphlet (characteristic$NonAssociativeRing): Likewise. 2009-02-18 Gabriel Dos Reis * interp/parse.boot (parseHas): Constants are not attributes. * interp/compiler.boot (compHasFormat): Handle signature for constants too. * interp/info.boot (actOnInfo): Likewise. * algebra/data.spad.pamphlet (sample$Byte): Make a constant. (SystemInteger): Export constant 'sample'. (SystemNonNegativeInteger): Likewise. * algebra/aggcat2.spad.pamphlet (FiniteLinearAggregateFunctions2): Use 'sample' or 'random' elements when allocating new aggregates. 2009-02-15 Gabriel Dos Reis * algebra/data.spad.pamphlet (ByteBuffer): Tidy. Manage size explicitly. * algebra/net.spad.pamphlet (writeBytes!$InetClientStreamSocket): Convert buffer to array before calling VM function. (readBytes!$InetClientStreamSocket): Likewise. * interp/sys-utility.boot (makeByteBuffer): Don't ask for fill pointers. 2009-02-09 Gabriel Dos Reis * lib/openpty.c: #include , , and where available. 2009-02-09 Gabriel Dos Reis * interp/i-spec2.boot (upDollar): Fix thinko. * interp/compat.boot (editFile): Tidy. * interp/br-op2.boot (modemap2Sig): Don't update $badStack.xo 2009-02-08 Gabriel Dos Reis * interp/i-spec2.boot (constantInDomain?): Move from i-coerce.boot. (findConstructor$Constructor): Take constant type as argument. (upDollar): Tidy. 2009-02-07 Gabriel Dos Reis Fix AW/103 * algebra/catdef.spad.pamphlet (exquo$EuclideanDomain): Return 0 if first argument is 0. * algebra/integer.spad.pamphlet (exquo$Integer): Remove. * testsuite/interpreter/aw-103.input: New. 2009-02-07 Gabriel Dos Reis Fix AW/66 * algebra/zerodim.spad.pamphlet: Restore use of one? * algebra/updivp.spad.pamphlet: Likewise. * algebra/unifact.spad.pamphlet: Likewise. * algebra/triset.spad.pamphlet: Likewise. * algebra/tools.spad.pamphlet: Likewise. * algebra/suts.spad.pamphlet: Likewise. * algebra/sttaylor.spad.pamphlet: Likewise. * algebra/string.spad.pamphlet: Likewise. * algebra/sregset.spad.pamphlet: Likewise. * algebra/si.spad.pamphlet: Likewise. * algebra/sf.spad.pamphlet: Likewise. * algebra/riccati.spad.pamphlet: Likewise. * algebra/rf.spad.pamphlet: Likewise. * algebra/regset.spad.pamphlet: Likewise. * algebra/rderf.spad.pamphlet: Likewise. * algebra/rdeef.spad.pamphlet: Likewise. * algebra/quat.spad.pamphlet: Likewise. * algebra/puiseux.spad.pamphlet: Likewise. * algebra/pscat.spad.pamphlet: Likewise. * algebra/prtition.spad.pamphlet: Likewise. * algebra/prs.spad.pamphlet: Likewise. * algebra/primelt.spad.pamphlet: Likewise. * algebra/polycat.spad.pamphlet: Likewise. * algebra/poly.spad.pamphlet: Likewise. * algebra/polset.spad.pamphlet: Likewise. * algebra/pfo.spad.pamphlet: Likewise. * algebra/perm.spad.pamphlet: Likewise. * algebra/pattern.spad.pamphlet: Likewise. * algebra/padiclib.spad.pamphlet:Likewise. * algebra/openmath.spad.pamphlet: Likewise. * algebra/opalg.spad.pamphlet: Likewise. * algebra/op.spad.pamphlet: Likewise. * algebra/omerror.spad.pamphlet: Likewise. * algebra/oderf.spad.pamphlet: Likewise. * algebra/odeef.spad.pamphlet: Likewise. * algebra/oct.spad.pamphlet: Likewise. * algebra/nlinsol.spad.pamphlet: Likewise. * algebra/newpoly.spad.pamphlet: Likewise. * algebra/naalgc.spad.pamphlet: Likewise. * algebra/naalg.spad.pamphlet: Likewise. * algebra/multpoly.spad.pamphlet: Likewise. * algebra/mring.spad.pamphlet: Likewise. * algebra/modring.spad.pamphlet: Likewise. * algebra/moddfact.spad.pamphlet: Likewise. * algebra/mkfunc.spad.pamphlet: Likewise. * algebra/matstor.spad.pamphlet: Likewise. * algebra/matrix.spad.pamphlet: Likewise. * algebra/matcat.spad.pamphlet: Likewise. * algebra/manip.spad.pamphlet: Likewise. * algebra/lodof.spad.pamphlet: Likewise. * algebra/liouv.spad.pamphlet: Likewise. * algebra/laplace.spad.pamphlet: Likewise. * algebra/irexpand.spad.pamphlet: Likewise. * algebra/intrf.spad.pamphlet: Likewise. * algebra/intpm.spad.pamphlet: Likewise. * algebra/intfact.spad.pamphlet: Likewise. * algebra/integer.spad.pamphlet: Likewise. * algebra/intclos.spad.pamphlet: Likewise. * algebra/intaux.spad.pamphlet: Likewise. * algebra/intalg.spad.pamphlet: Likewise. * algebra/intaf.spad.pamphlet: Likewise. * algebra/gpol.spad.pamphlet: Likewise. * algebra/gpgcd.spad.pamphlet: Likewise. * algebra/gb.spad.pamphlet: Likewise. * algebra/gaussian.spad.pamphlet: Likewise. * algebra/galutil.spad.pamphlet: Likewise. * algebra/galpolyu.spad.pamphlet: Likewise. * algebra/galfact.spad.pamphlet: Likewise. * algebra/fspace.spad.pamphlet: Likewise. * algebra/fs2ups.spad.pamphlet: Likewise. * algebra/fs2expxp.spad.pamphlet: Likewise. * algebra/free.spad.pamphlet: Likewise. * algebra/fraction.spad.pamphlet: Likewise. * algebra/fr.spad.pamphlet: Likewise. * algebra/fparfrac.spad.pamphlet: Likewise. * algebra/fortran.spad.pamphlet: Likewise. * algebra/fmod.spad.pamphlet: Likewise. * algebra/float.spad.pamphlet: Likewise. * algebra/ffx.spad.pamphlet: Likewise. * algebra/ffnb.spad.pamphlet: Likewise. * algebra/ffcg.spad.pamphlet: Likewise. * algebra/ffcat.spad.pamphlet: Likewise. * algebra/exprode.spad.pamphlet: Likewise. * algebra/expr.spad.pamphlet: Likewise. * algebra/expexpan.spad.pamphlet: Likewise. * algebra/elemntry.spad.pamphlet: Likewise. * algebra/efupxs.spad.pamphlet: Likewise. * algebra/efuls.spad.pamphlet: Likewise. * algebra/e04routine.spad.pamphlet: Likewise. * algebra/e04agents.spad.pamphlet: Likewise. * algebra/divisor.spad.pamphlet: Likewise. * algebra/derham.spad.pamphlet: Likewise. * algebra/defintrf.spad.pamphlet: Likewise. * algebra/defintef.spad.pamphlet: Likewise. * algebra/defaults.spad.pamphlet: Likewise. * algebra/d03agents.spad.pamphlet: Likewise. * algebra/d01weights.spad.pamphlet: Likewise. * algebra/d01routine.spad.pamphlet: Likewise. * algebra/d01agents.spad.pamphlet: Likewise. * algebra/curve.spad.pamphlet: Likewise. * algebra/crfp.spad.pamphlet: Likewise. * algebra/cont.spad.pamphlet: Likewise. * algebra/constant.spad.pamphlet: Likewise. * algebra/complet.spad.pamphlet: Likewise. * algebra/combfunc.spad.pamphlet: Likewise. * algebra/catdef.spad.pamphlet: Likewise. * algebra/brill.spad.pamphlet: Likewise. * algebra/array1.spad.pamphlet: Likewise. * algebra/algfunc.spad.pamphlet: Likewise. * algebra/algfact.spad.pamphlet: Likewise. 2009-02-07 Gabriel Dos Reis * algebra/system.spad.pamphlet (hostByteOrder$System): New. * algebra/data.spad.pamphlet (ByteOrder): New. * algebra/Makefile.pamphlet (axiom_algebra_layer_1): Include BYTEORD. 2009-02-06 Alfredo Portes * hyper/presea.in: Fix thinko. 2009-02-06 Gabriel Dos Reis Alfredo Portes Fix AW/236, AW/282 * interp/sys-utility.boot (probeReadableFile): New. * interp/nlib.lisp (probe-name): Remove. (make-input-filename): Tidy. * interp/lisplib.boot (readLib1): Return nil if path inexistent. (getFileProperty): Likewise. 2009-02-04 Gabriel Dos Reis * interp/domain.lisp: Remove. 2009-02-04 Gabriel Dos Reis Waldek Hebisch Fix AW/440 * algebra/integrat.spad.pamphlet (integrate$FunctionSpaceComplexIntegration): Use complexIntegrate for complex expressions. * testsuite/aw-440.input: New. 2009-02-04 Waldek Hebisch Gabriel Dos Reis Fix AW/441 * algebra/defintrf.spad.pamphlet (findRealZero$DefiniteIntegrationTools): Deal with simple zeros. * testsuite/interpreter/aw-441.input: New. 2009-02-04 Gabriel Dos Reis * algebra/gaussian.spad.pamphlet (ComplexCategory): Reinstate attribute 'complex'. * algebra/Makefile.pamphlet: Tidy. 2009-02-04 Gabriel Dos Reis * algebra/algfunc.spad.pamphlet: Quote symbols. * algebra/combfunc.spad.pamphlet: Likewise. * algebra/drawopt.spad.pamphlet: Likewise. * algebra/efstruc.spad.pamphlet: Likewise. * algebra/elemntry.spad.pamphlet: Likewise. * algebra/expr.spad.pamphlet: Likewise. * algebra/exprode.spad.pamphlet: Likewise. * algebra/float.spad.pamphlet: Likewise. * algebra/gaussian.spad.pamphlet: Likewise. * algebra/intaux.spad.pamphlet: Likewise. * algebra/irexpand.spad.pamphlet: Likewise. * algebra/laplace.spad.pamphlet: Likewise. * algebra/limitps.spad.pamphlet: Likewise. * algebra/liouv.spad.pamphlet: Likewise. * algebra/list.spad.pamphlet: Likewise. * algebra/lmdict.spad.pamphlet: Likewise. * algebra/manip.spad.pamphlet: Likewise. * algebra/matcat.spad.pamphlet: Likewise. * algebra/matrix.spad.pamphlet: Likewise. * algebra/mkfunc.spad.pamphlet: Likewise. * algebra/mset.spad.pamphlet: Likewise. * algebra/oct.spad.pamphlet: Likewise. * algebra/op.spad.pamphlet: Likewise. * algebra/patmatch1.spad.pamphlet: Likewise. * algebra/pattern.spad.pamphlet: Likewise. * algebra/quat.spad.pamphlet: Likewise. * algebra/sets.spad.pamphlet: Likewise. * algebra/transsolve.spad.pamphlet: Likewise. * algebra/vector.spad.pamphlet: Likewise. 2009-02-03 Gabriel Dos Reis * algebra/boolean.spad.pamphlet (Boolean): Tidy. 2009-02-02 Gabriel Dos Reis * algebra/domain.spad.pamphlet (FunctionDescriptor): New. (OverloadSet): Likewise. (operations$ConstructorCategory): Likewise. * share/algebra: Update databases. 2009-01-31 Gabriel Dos Reis * algebra/Makefile.pamphlet: Tidy layer 0 dependency. SETCAT and SETCAT- are no longer required for bootstrap. * algebra/SETCAT.lsp: Remove. * algebra/SETCAT-.lsp: Likewise. 2009-01-30 Waldek Hebisch Gabriel Dos Reis Fix AW/83 * interp/i-coerfn.boot (Dmp2P): Scalar tag is 0 for Polynomial T. * testsuite/interpreter/aw-83.input (a): New. 2009-01-29 Gabriel Dos Reis * OpenAxiom 1.2.1 Released. 2009-01-29 Gabriel Dos Reis * interp/g-error.boot (systemErrorHandler): Tidy. 2009-01-28 Gabriel Dos Reis * algebra/domain.spad.pamphlet (findConstructor$Constructor): New. 2009-01-17 Gabriel Dos Reis * interp/br-saturn.boot (htpMakeEmptyPage): Use deprecated GENTEMP instead of GENSYM. * interp/ht-util.boot (htpName): Likewise. (mkCurryFun): Likewise. (htRadioButtons): Likewise. (htBcRadioButtons): Likewise * interp/br-con.boot (kisValidType): Use $LangSupportTypes. 2009-01-14 Gabriel Dos Reis * algebra/riccati.spad.pamphlet (innerlb$PrimitiveRatRicDE): Fix thinko. * interp/bootlex.lisp (get-decimal-number-token): New. (get-integer-in-radix): Likewise. (is-radix-char): Likewise. (get-spad-integer-token): Likewise. Use them. (get-BOOT-token): Use it. * interp/metalex.lisp: Tidy. 2009-01-13 Gabriel Dos Reis * algebra/net.spad.pamphlet (InputByteConduit): Add readInt8!, readInt16!, readInt32!, readUInt8!, readUInt16!, readUInt32!. 2009-01-12 Gabriel Dos Reis * interp/category.boot: Miscellaneous cleanup. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/functor.boot: Likewise. * interp/info.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise. 2009-01-10 Gabriel Dos Reis * interp/compiler.boot (getSuccessEnvironment): Don't specialize on `has'. (getInverseEnvironment): Likewise. * algebra/equation2.spad.pamphlet (factorAndSplit$Equation): Fix misuses of `has'. * interp/functor.boot (mkTypeForm): Rename from mkDomainConstructor. 2009-01-10 Gabriel Dos Reis Fix SF/2491986 * interp/i-syscmd.boot (displayValue): Fix thinko. * testsuite/interpreter/sf-2491986.input (a): New. 2009-01-10 Gabriel Dos Reis * interp/parse.boot ($parsingType): New. (parseType): New. Parse types forms. (parseTypeList): New. Parse list of type forms. 2009-01-09 Gabriel Dos Reis * interp/compiler.boot (compPredicate): Rename from compBoolean. Lose second argument. Document. 2009-01-09 Gabriel Dos Reis * algebra/data.spad.pamphlet (Byte): Satisfy OrderedFinite. (SystemInteger, SystemNonNegativeInteger, Int8, Int16, Int32, UInt8, UInt 16, UInt32): New. * algebra/Makefile.pamphlet (axiom_algebra_layer_7): Include INT8, INT16, INT32, UINT8, UINT16, UINT32. 2009-01-07 Gabriel Dos Reis * interp/sys-utility.boot (readByteFromFile): Tidy. (makeByteBuffer): Set fill pointer. (connectToHostAndPort): Define here. (readByteFromStreamSocket): Likewise. (writeByteToStreamSocket): Likewise. * interp/sys-os.boot (doConnectToHostAndPort): Rename from connectot$NetworkClientSocket. (doReadByteFromStreamSocket): Rename from readByteFromStreamSocket. (doWriteByteToStreamSocket): Rename from writeByteToStreamSocket. * algebra/net.spad.pamphlet: Use Maybe Byte. * algebra/data.spad.pamphlet (ByteBuffer): Fix fill pointer thinko. 2009-01-06 Gabriel Dos Reis * algebra/net.spad.pamphlet (resolve$Hostname): Return a Maybe %. (connectot$NetworkClientSocket): Likewise. (connectot$InetClientStreamSocket): Likewise. 2009-01-06 Gabriel Dos Reis * algebra/any.spad.pamphlet (Maybe): Rework. 2009-01-06 Gabriel Dos Reis * interp/sys-utility.boot (getVMType): IndexList are lists. * interp/g-util.boot (isSubDomain): Tidy. * interp/g-opt.boot (isVMConstantForm): New. (findVMFreeVars): Likewise. * interp/define.boot (insertViewMorphisms): Remove. (emitSubdomainInfo): New. (checkVariableName): Likewise. (checkParameterNames): Likewise. (checkRepresentation): Set $subdomain where appropriate. (compDefines): Check parameter names. (compDefineFunctor1): Propagate subdomain info. (doIt): Don't call insertViewMorphisms. * interp/compiler.boot (setqSingle): Check variable name. (compIterator): Likewise. (commonSuperType): New. (satisfies): Likewise. (coerceSubset): Use them to implemen cross-subdomain coercion. (coerceSuperset): New. (comCoerce1): Use it. (compPer): New. (compRep): Likewise. * interp/c-util.boot (getRepresentation): New. (proclaimCapsuleFunction): Improve for specialized subdomains. * algebra/stream.spad.pamphlet: Don't use `per' as variable name. * algebra/si.spad.pamphlet (size$SingleInteger): Tidy. (coerce$SingleInteger): Likewise. * algebra/reclos.spad.pamphlet (nonNull$RealClosure): Don't use `rep' as parameter name. * algebra/data.spad.pamphlet (Byte): Now a subdomain of NonNegativeInteger. Tidy. 2009-01-04 Gabriel Dos Reis * interp/daase.lisp (setdatabase): Set superdomain slot too. * interp/g-util.boot (superType): Handle current domain form. (maximalSuperType): Tidy. (noteSubDomainInfo): Call SETDATABASE. 2009-01-04 Gabriel Dos Reis * interp/buildom.boot (createEnum): Fix quoting. * interp/compat.boot (system): Likewise. * interp/astr.boot (ncEltQ): Fix declaration. * interp/compiler.boot (compMapCond'): Likewise. (compMapCond): Likewise. (compMapCondFun): Remove declaration. 2009-01-03 Gabriel Dos Reis * lisp/core.lisp.in (|%algebraSystemIsComplete|): New. (|%basicSystemIsComplete|): Use it. * interp/wi1.boot (setqSingle): Use maximalSuperType. (coerceSubset): Simplify. (compCoerce1): Tidy. * interp/i-resolv.boot (resolveTCat): Use superType. * interp/lisplib.boot (findConstructorSlotNumber): Use isSubset. (sigsMatch): Likewise. (findDomainSlotNumber): Likewise. * interp/define.boot (compSubDomain1): Reject for complex subdomain predicate. Support paramterized subdomains. * interp/daase.lisp (interpOpen): Read superdomain slot. (getdatabase): Remove adhoc hardcoded superdomain info. Return superdomain info stored in database. (localnrlib): Read superdomain info. (write-interpdb): Write superdomain info. (database): Add superdomain slot. * interp/g-util.boot (superType): New. (maximalSuperType): Rework. Support parameterized subdomains. (noteSubDomainInfo): New. (isSubDomain): Rework. * interp/c-util.boot (isSubset): Rework. * interp/g-opt.boot (optEQ): Remove. * interp/g-cndata.boot (getImmediateSuperDomain): Remove. (maximalSuperType): Move to g-util.boot. * interp/types.boot (%Constructor): New type specifier. (%Instantiation): Likewise. * interp/compiler.boot (primitiveType): Don't return $NegativeInteger. (maxSuperType): Remove. (hasType): Use maximalSuperType. (satisfies): New. (coerceSubset): Use it. Simplify. * interp/wi2.boot (smallIntegerStep): Use maximalSuperType. * interp/sys-constants.boot ($AtVariables): New. ($NegativeInteger): Remove. ($NonPositiveInteger): Likewise. ($CategoryNames): Category is not a category. * interp/property.lisp: Remove Subsets property settings. * interp/i-coerce.boot (coerceSubDomain): Simplify. (coerceImmediateSubDomain): Remove. (getSubDomainPredicate): Simplify. * interp/category.boot (SourceLevelSubset): Use isSubDomain. (MachineLevelSubset): Likewise. * interp/modemap.boot (mergeModemap): Likewise. (isSuperDomain): Remove. (augModemapsFromDomain): Support parameterized subdomains. * interp/i-util.boot (isSubDomain): Move to g-util.boot. * Makefile.pamphlet (all-databases): New target. * interp/Makefile.pamphlet ($(AXIOMSYS)): Push :open-axiom-algebra-system onto *FEATURES*. * etc/Makefile.in (all-databases): New target. 2009-01-02 Gabriel Dos Reis * interp/buildom.boot (UnionEqual): Don't call orderUnionEntries. (coerceUn2E): Likewise. (mkUnionFunList): Likewise. * interp/i-coerce.boot (coerceUnion2Branch): Likewise. (coerceBranch2Union): Likewise. ($newCompilerUnionFlag): Remove. (orderUnionEntries): Likewise. (mkPredList): Remove dead code. 2009-01-02 Gabriel Dos Reis * interp/c-util.boot (updateCapsuleDirectory): Record constant makers too. (replaceSimpleFunctions): Fold simple constant form makers. 2009-01-01 Gabriel Dos Reis * interp/pf2sex.boot (pfLiteral2Sex): Fix evaluation of intergers with non-decimal radix. * interp/scan.boot (rdigti?): Allow non-capital letters. 2008-12-30 Gabriel Dos Reis * algebra/si.spad.pamphlet (size$SingleInteger): Compute value as extended integer. 2008-12-27 Gabriel Dos Reis * interp/define.boot (compDefineFunctor1): Remove dead code. (compile): Likewise. * interp/functor.boot (isPackageFunction): Remove. * interp/wi2.boot (compDefineFunctor1): Remove dead code. 2008-12-27 Gabriel Dos Reis * interp/c-util.boot (isSubset): Don't check for Object. * interp/cattable.boot (hasCat): Likewise. (simpTempCategoryTable): Don't substitute for Object. 2008-12-27 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (OrderedFinite): Export `min' and `max' values. * algebra/si.spad.pamphlet (SingleInteger): Now satisfies OrderedFinite. Tidy. 2008-12-26 Gabriel Dos Reis * algebra/net.spad.pamphlet (readBytes!$InputByteConduit): Set length of buffer to count of bytes read. * algebra/si.spad.pamphlet (SingleInteger): Now formally subdomain of Integer. 2008-12-25 Gabriel Dos Reis * interp/database.boot (getConstructorArity): New. (getCategoryExports): Likewise. (getCategoryAttributes): Likewise. * interp/i-analy.boot (isUnambiguouslyConstructor): New. (bottomUpIdentifier): Use it. * algebra/syntax.spad.pamphlet (Identifier): No longer satisfies SpadSyntaxCategory). * algebra/exposed.lsp.pamphlet: Expose Signature and ConstructorCategory. * algebra/term.spad.pamphlet (operator$OperatorCategory): Remove. * algebra/domain.spad.pamphlet (ConstructorKind): Improve documentation. (ConstructorCategory): New. (Constructor): Now satisfies ConstructorCategory. (CategoryConstructor): New. (DomainConstructor): New. (Signature): Move from syntax.spad.pamphlet. (OperatorSignature): New. (exportedOperators$Category): New. (principalAncestors$Category): New. (parents$Category): Likewise. (constructor$Domain): New. * algebra/catdef.spad.pamphlet (hash$SetCategory): Tidy default implementation. * algebra/outform.spad.pamphlet (vspace$OutputForm): Prevent infinite recursion for negative input. (hspace$OutputForm): Likewise. (rspace$OutputForm): Likewise. Explicitly quote bytecode symbols. 2008-12-21 Gabriel Dos Reis * interp/i-eval.boot (evaluateType0): Check for builtin constructors. (evaluateType): Likewise. * interp/i-spec2.boot (isType): Reject unsaturated constructors. * testsuite/interpreter/ctor.input: New. 2008-12-20 Gabriel Dos Reis * interp/define.boot (checkRepresentation): Take a third argument. Provide view morphisms for domain extensions. (compCapsule): Adjust call. * algebra/alql.spad.pamphlet (DataList): Use per and rep. * algebra/fortmac.spad.pamphlet (MachineInteger): Likewise. * algebra/fortran.spad.pamphlet (FortranExpression): Likewise. * algebra/integer.spad.pamphlet (NonNegativeInteger): Likewise. (PositiveInteger): Likewise. * algebra/ituple.spad.pamphlet (InfiniteTuple): Likewise. * algebra/matrix.spad.pamphlet (RectangularMatrix): Likewise. * algebra/pf.spad.pamphlet (InnerPrimeField): Likewise. * algebra/radix.spad.pamphlet (BinaryExpansion): Likewise. (DecimalExpansion): Likewise. (HexadecimalExpansion): Likewise. 2008-12-20 Gabriel Dos Reis * interp/i-analy.boot (elaborateForm): New. * interp/i-spec2.boot (uphas): Use it. Evaluate first operand. 2008-12-20 Gabriel Dos Reis * interp/define.boot (checkRepresentation): Take a second argument. For domain extensions, warn about useless assignment to Rep, and syntactically conflicting assignment to Rep. 2008-12-19 Gabriel Dos Reis * algebra/newdata.spad.pamphlet (SplittingNode): Define Rep as constant. Remove definitions for `per' and `rep'. * algebra/regset.spad.pamphlet (RegularTriangularSet): Likewise. * algebra/sregset.spad.pamphlet (SquareFreeRegularTriangularSet): Likewise. * algebra/triset.spad.pamphlet (GeneralTriangularSet): Likewise. (WuWenTsunTriangularSet): Likewise. 2008-12-19 Gabriel Dos Reis * interp/define.boot (insertViewMorphisms): New. (checkRepresentation): Rename from maybeInsertViewMorphisms. Tidy. (compDefineFunctor1): Tidy. (doIt): Insert view morphisms if appropriate. 2008-12-14 Gabriel Dos Reis * interp/compiler.boot (compFormWithModemap): Tidy. (compLogicalNot): Rename from compNot. (compExclusiveOr): New. (compViableModemap): Likewise. (compResolveCall): Likewise. (compApplyModemap): Tidy. (compMapCond): Tidy. (compMapCond''): Remove. * interp/parse.boot (parseExclusiveOr): Remove. * interp/sys-constants.boot ($SideEffectFreeFunctionList): Include "and", "or", and "not". * interp/modemap.boot (getModemap): Adjust call to compApplyModemap. * interp/nruncomp.boot (NRTputInHead): Error on SPADCONST form. * algebra/boolean.spad.pamphlet (and$Boolean): Use Lisp operation. (or$Boolean): Likewise. (not$Boolean): Likewise. * algebra/mappkg.spad.pamphlet (fixedPoint$MappingPackage1): Specify return type for Lisp expression. * algebra/strap: Update cached Lisp translation. 2008-12-12 Gabriel Dos Reis * interp/c-util.boot (ILinsn): New structure. (il3OldForm): Convert new forms to old forms. * interp/i-intern.boot (mkAtree3): Don't use old parser functions. * interp/wi2.boot: Use MEMQ to test for parameters names. * interp/compiler.boot: Use MEMQ to test for parameters names. 2008-12-11 Gabriel Dos Reis * interp/ht-util.boot (oldParseString): Remove. * interp/server.boot (oldParseAndInterpret): Likewise. * interp/parse.boot (parseHasRhs): Likewise. (parseType): Likewise. (parseColon): Remove unused code. (parseCoerce): Likewise. (parseAtSign): Likewise. (parsePretend): Likewise. (parseAtAt): Likewise. (parseHas): Likewise. (parseAnd): Likewise. (parseOr): Likewise. (parseIf): Simplify. 2008-12-10 Gabriel Dos Reis * interp/nrunfast.boot (resolveNiladicConstructors): Tidy. * interp/compiler.boot (quotify): Remove. * interp/parse.boot (parseCases): Remove. (parseUpArrow): Likewise. * interp/compiler.boot (preprocessParseTree): New. (compileParseTree): New. Split out of S-PROCESS. * interp/spad.lisp (S-PROCESS): Use it. 2008-12-09 Gabriel Dos Reis * algebra/term.spad.pamphlet: New. Implement Arity and OperatorCategory. * algebra/Makefile.pamphlet (axiom_algebra_layer_15): Include ARITY. (axiom_algebra_layer_16): Include OPERCAT. * share/algebra: Update databases. 2008-12-08 Gabriel Dos Reis * interp/compiler.boot (compRetractAlternative): Handle domains satisfying RetractableTo T. * interp/g-opt.boot ($simpleVMoperators): Add a few more operators. (optLET): Fix thinko. 2008-12-08 Gabriel Dos Reis * interp/cparse.boot (npCase): New. (npStatement): Use it. * interp/pf2sex.boot (pfCase2Sex): New. (pf2Sex1): Use it. * interp/ptrees.boot: Construct %Match ASTs. 2008-12-07 Gabriel Dos Reis * interp/g-opt.boot ($simpleVMoperators): New. (isSimpleVMForm): Likewise. (isFloatableVMForm): Likewise. (optLET): Likewise. Expand backend let-forms. * interp/c-util.boot (foldSpadcall): Look into LET and COND forms. (replaceSimpleFunctions): Likewise. (mutateCONDFormWithUnaryFunction): New. (mutateLETFormWithUnaryFunction): Likewise. * interp/compiler.boot (tryCourtesyCoercion): Split from coerce. (compRetractAlternative): Simplify. Now try courtesy coercions before retraction. (compRecoverAlternative): New. (compMatch): Simplify. Implement type recovery too. 2008-12-06 Gabriel Dos Reis * interp/compiler.boot (compRetractAlternative): New. (compMatch): Likewise. Use it to implement pattern matching for retractable domains. * interp/parse.boot (parseAtAt): New. * interp/postpar.boot (postAtAt): Likewise. (postAlternatives): Likewise. (postMatch): Likewise. * interp/metalex.lisp (Keywords): Remove `otherwise' as keyword. * interp/fnewmeta.lisp (|PARSE-Match|): New local parser. (otherwise): Remove binding specification. (case): Now also a Nud token. 2008-12-06 Alfredo Portes * lib/cfuns-c.c (oa_getpid): New function to support getting process id in Windows. * include/cfuns.h: Define it. * lib/fnct_key.c: Use it. * lib/sockio-c.c: Likewise. * lib/util.c: Likewise. * clef/edible.c: Likewise. 2008-12-05 Gabriel Dos Reis * algebra/fs2ups.spad.pamphlet (FunctionSpaceToUnivariatePowerSeries): Revert previous requirement change on parameter. * algebra/manip.spad.pamphlet (PolynomialRoots): Likewise. * algebra/rf.spad.pamphlet (PolynomialCategoryQuotientFunctions): Likewise. * algebra/sum.spad.pamphlet (GosperSummationMethod): Likewise. * share/algebra: Update databases. 2008-12-03 Gabriel Dos Reis * interp/compiler.boot (compIs): Error if left operand is not a domain expression. 2008-12-02 Gabriel Dos Reis * interp/parsing.lisp (initial-substring-p): Match case sensitively. 2008-12-01 Gabriel Dos Reis * interp/define.boot (compile): Don't check for PAC names. * interp/g-opt.boot (optCall): Likewise. * interp/functor.boot (SetFunctionSlots): Likewise. (mkOperatorEntry): Lose first parameter. (optPackageCall): Remove. * interp/category.boot (mkCategory): Document. Adjust call to mkOperatorEntry. 2008-11-30 Gabriel Dos Reis * interp/parse.boot (parseEquivalence): Remove. 2008-11-30 Gabriel Dos Reis * interp/define.boot (disallowNiAttribute): Remove. (compDefineFunctor1): Don't use it anymore. (compCategoryItem): Filter out nil attributes here. 2008-11-29 Gabriel Dos Reis * interp/nruncomp.boot (deltaTran): Don't check for $NRTaddForm againg; it was already checked by NRTassocIndex. (genDeltaEntry): Likewise. (NRTgetLocalIndex): Likewise. * interp/wi2.boot (genDeltaExntry): Likewise. 2008-11-29 Gabriel Dos Reis * interp/define.boot (mustInstantiate): Fix thinko introduced by earlier tweaks. (mkExplicitCategoryFunction): Likewise. 2008-11-29 Gabriel Dos Reis * interp/nruncomp.boot (genDeltaSpecialSig): Remove, as unused. 2008-11-29 Gabriel Dos Reis * interp/nruncomp.boot (deltaTran): Don't encode signature again. (genDeltaEntry): Remove dead pattern match. 2008-11-29 Gabriel Dos Reis * interp/compiler.boot (setqSingle): Use setShellEntry. * interp/wi1.boot (setqSingle): Likewise. * interp/functor.boot (setVector4): Likewise. (DescendCode): Abort on SETELT opcode. (SetFunctionSlots): Likewise. * interp/nrunfast.boot (evalSlotDomain): Likewise. * interp/nrungo.boot (NRTevalDomain): Likewise. * interp/showimp.boot (getDomainRefName): Match "setShellEntry". 2008-11-28 Gabriel Dos Reis * interp/define.boot (compCapsuleInner): Call processFunctor. * interp/wi2.boot (compCapsuleInner): Likewise. * interp/functor.boot (processFunctorOrPackage): Remove. (processPackage): Likewise. (subTree): Likewise. (setPackageLocals): Likewise. (PackageDescendCode): Likewise. 2008-11-28 Gabriel Dos Reis * interp/nruncomp.boot (buildFunctor): Remov reference to $NRTvec. * interp/nrunfast.boot ($NRTvec): Don't define. 2008-11-27 Gabriel Dos Reis * interp/server.boot (serverLoop): Remove, as unused. 2008-11-27 Gabriel Dos Reis * interp/nruncomp.boot (NRTgetAddForm): Remove, as unused. 2008-11-27 Gabriel Dos Reis * interp/nruncomp.boot (NRTassocIndex): Don't set $found. 2008-11-26 Gabriel Dos Reis * interp/define.boot (compSignature): New. Split from compCategoryItem. (compCategoryItem): Use it. Tidy. (quotifyCategoryArgument): Remove. (mkEvalableCategoryForm): Tidy. 2008-11-26 Gabriel Dos Reis * interp/parse.boot (parseImplies): Remove. 2008-11-24 Gabriel Dos Reis * interp/lisplib.boot (compDefineExports): Tidy. * interp/define.boot (compDefineFunctor1): Adjust call. 2008-11-23 Gabriel Dos Reis * interp/i-output.boot ($RecordSeparator): New. (maprin): Use it. Separate record in lean mode. * interp/sys-globals.boot ($leanMode): Define. * interp/sys-driver.boot (systemMain): Initialize. * interp/ht-util.boot (executeInterpreterCommand): Print prompt only in non-lean mode. * interp/int-top.boot (SpadInterpretStream): Likewise. (intloopReadConsole): Likewise. * interp/metalex.lisp (get-a-line): Likewise. * interp/server.boot: Likewise. 2008-11-23 Gabriel Dos Reis * lib/cfuns-c.c (oa_copy_file): Specify permission mode for the new file. 2008-11-23 Gabriel Dos Reis * algebra/lodop.spad.pamphlet (OrdinaryDifferentialRing): Tidy. * algebra/sex.spad.pamphlet (SExpressionCategory): Fix breakage from last commit. 2008-11-23 Gabriel Dos Reis * algebra/seg.spad.pamphlet (SegmentCategory): Extend ConvertibleFrom S. * algebra/newpoint.spad.pamphlet (PointCategory): Extend ConvertibleFrom List R. * algebra/misc.spad.pamphlet (SingletonAsOrderedSet): Now ConvertibleTo Symbol. * algebra/integer.spad.pamphlet (RomanNumeral): Now ConvertibleFrom Symbol. * algebra/float.spad.pamphlet (Float): Now ConvertibleFrom SF. * algebra/sex.spad.pamphlet (SExpressionCategory): Extend ConvertibleFrom Str, ConvertibleFrom Sym, ConvertibleFrom Int, ConvertibleFrom Flt, ConvertibleFrom List %. 2008-11-20 Gabriel Dos Reis * algebra/alql.spad.pamphlet (Database): Now CoercibleFrom List S. * algebra/asp.spad.pamphlet (Asp20): Now CoercibleFrom MAT FEXPR. (Asp6): Now CoercibleFrom Vector FEXPR. * algebra/catdef.spad.pamphlet (Algebra): Extend CoercibleFrom R. (Ring): Extend CoercibleFrom Integer. * algebra/formula.spad.pamphlet (ScriptFormulaFormat): Now CoercibleFrom E. * algebra/fortran.spad.pamphlet (FortranCode): Remove redundant signature. * algebra/fs2ups.spad.pamphlet (FunctionSpaceToUnivariatePowerSeries): Tidy parameter. * algebra/laurent.spad.pamphlet (UnivariateLaurentSeriesConstructorCategory): Extend CoercibleFrom UTS. * algebra/manip.spad.pamphlet (PolynomialRoots): Tidy parameter. * algebra/modmon.spad.pamphlet (ModMonic): Now CoercibleFrom Rep. * algebra/ore.spad.pamphlet (UnivariateSkewPolynomial): Now CoercibleFrom Variable x. 2008-11-20 Gabriel Dos Reis * algebra/annacat.spad.pamphlet (NumericalIntegrationProblem): Remove redundant signature. (NumericalODEProblem): Likewise. (NumericalPDEProblem): Likewise. (NumericalOptimizationProblem): Likewise. * algebra/forttyp.spad.pamphlet (FortranType): Likewise. * algebra/void.spad.pamphlet (Void): Now CoercibleTo OutputForm. 2008-11-20 Gabriel Dos Reis * algebra/wtpol.spad.pamphlet (WeightedPolynomials): No HomotopicTo P. (OrdinaryWeightedPolynomials): Likewise. * algebra/modmonom.spad.pamphlet (ModuleMonomial): Now HomotopicTo MM. * algebra/matrix.spad.pamphlet (coerce$RectangularMatrix): Remove redundant signature. * algebra/lodop.spad.pamphlet (OrdinaryDifferentialRing): Now HomotopicTo HomotopicTo R. * algebra/alql.spad.pamphlet (DataList): Now HomotopicTo List S. * algebra/array1.spad.pamphlet (Tuple): Now HomotopicTo PrimitiveArray S. * algebra/kl.spad.pamphlet (CachableSet): Now HomotopicTo S. * algebra/java.spad.pamphlet (JavaBytecode): Now HomotopicTo Byte. * algebra/fname.spad.pamphlet (FileNameCategory): Extends HomotopicTo String. * algebra/data.spad.pamphlet (Byte): Now HomotopicTo Character. 2008-11-20 Gabriel Dos Reis * algebra/coerce.spad.pamphlet (HomotopicTo): New. * algebra/exposed.lsp.pamphlet: Expose it. * algebra/Makefile.pamphlet (axiom_algebra_layer_1): Include HOMOTOP. 2008-11-20 Gabriel Dos Reis * algebra/coerce.spad.pamphlet (CoercibleFrom): New. (ConvertibleFrom): Likewise. (RetractableTo): Use it. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include KRCFROM and KVTFROM. * share/algebra/: Update databases. 2008-11-18 Gabriel Dos Reis * interp/sys-utility.boot (loadExports): New. * interp/sys-driver.boot (initializeGlobalState): Set $compileDefaultsOnly. * interp/lisplib.boot (isFunctor): Load exports file if present. * interp/define.boot (compDefineCategory2): Don't write out category load time stuff if we are compiling only defaults. * interp/boot-pkg.lisp: Import loadFileIfPresent. * lisp/core.lisp.in (|loadFileIfPresent|): New. (|loadIfPresent|): Use it. 2008-11-18 Gabriel Dos Reis * interp/nrunfast.boot (resolveNiladicConstructors): New. (newHasTest): Use it to handle signature export test. * testsuite/interpreter/has.input: New. 2008-11-17 Gabriel Dos Reis * interp/lisplib.boot (compDefineExports): Now take operation exported list, instead of category object. Tidy. * interp/define.boot (compDefineFunctor1): Adjust call to compDefineExports. 2008-11-16 Gabriel Dos Reis * lisp/core.lisp.in (|getOptionValue|): Make second argument optional. * interp/sys-driver.boot (initializeGlobalState): Set $compileExportsOnly. * interp/lisplib.boot (compDefineExports): New. * interp/define.boot (skipCategoryPackage?): New. (compDefineCategory1): Use it. (compDefineFunctor): Don't compile to NRLIB if interested only in exports. (compDefineFunctor1): Honor $compileExportsOnly. * interp/sys-macros.lisp (|withOutputFile|): New. * interp/sys-utility.boot (quoteForm): Likewise. 2008-11-16 Gabriel Dos Reis * interp/define.boot: More cleanup. * interp/iterator.boot: Likewise. 2008-11-15 Gabriel Dos Reis * interp/c-util.boot: Clean up. * interp/database.boot: Likewise. * interp/debug.lisp: Likewise. * interp/define.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-cndata.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/g-util.boot: Likewise. * interp/guess.boot: Likewise. * interp/i-output.boot: Likewise. * interp/macros.lisp: Likewise. * interp/nrungo.boot: Likewise. * interp/preparse.lisp: Likewise. * interp/spad.lisp: Likewise. * interp/sys-macros.lisp: Likewise. * interp/trace.boot: Likewise. * interp/types.boot: Likewise. * interp/vmlisp.lisp: Likewise. * interp/word.boot: Likewise. 2008-11-15 Gabriel Dos Reis * interp/package.boot: Fold content into functor.boot. Delete. * interp/Makefile.pamphlet: Adjust. 2008-11-15 Gabriel Dos Reis * interp/i-syscmd.boot: Remove dead code. * interp/spad.lisp: Likewise. 2008-11-15 Gabriel Dos Reis * interp/Makefile.pamphlet (OBJS): Remove cfuns. Include hashcode. * interp/cfuns.lisp: Delete. 2008-11-15 Gabriel Dos Reis * interp/compiler.boot: Import "msgdb", not "c-util". Move compiler driver to i-syscmd.boot. * interp/define.boot: Import "nruncomp", "functor", "package". * interp/wi2.boot (NRTgetLocalIndex): Remove duplicate. 2008-11-15 Gabriel Dos Reis * interp/spad.lisp (incTimeSum): Remove. * interp/modemap.boot ($forceAdd): Define. * interp/nruncomp.boot ($NRTderivedTargetIfTrue): Likewise. ($killOptimizeIfTrue): Likewise. * interp/i-toplev.boot (processInteractive): Tidy. * interp/c-util.boot ($compErrorMessageStack): Define. * interp/compiler.boot (compApply): Remove. ($compTimeSum): Likewise ($resolveTimeSum): Likewise. (compCompilerPredicate): Tidy. (comp3): There is no such thing as KAPPA. 2008-11-15 Gabriel Dos Reis * algebra/Makefile.pamphlet: Individual .spad files are .PRECIOUS. 2008-11-15 Gabriel Dos Reis * interp/category.boot: Define global vars. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/sys-globals.boot: Likewise. * interp/wi1.boot ($frontier): Removed, as unused. * interp/wi2.boot ($attributesName): Likewise. ($goGetList): Likewise. ($NRTaddList): Likewise. ($NRTloadTimeAlist): Likewise. ($lisplibMissingFunctions): Likewise. ($alternateViewList): Likewise. 2008-11-03 Gabriel Dos Reis * interp/br-data.boot: Remove uses of BOUNDP. * interp/br-op1.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/functor.boot: Likewise. * interp/category.boot: Likewise. * interp/g-cndata.boot: Likewise. * interp/i-util.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/mark.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise. 2008-11-03 Gabriel Dos Reis * interp/postpar.boot (postcheckTarget): Likewise. (isPackageType): Likewise. * interp/lisplib.boot (getSlotFromDomain): Remove. * interp/macros.lisp (|saySpadMsg|): Remove. * interp/vmlisp.lisp (qsetq): Remove. (STATEP, FUNARGP, PAPPP): Likewise. (LISTOFQUOTES, LISTOFFREES): Likewise. 2008-11-02 Gabriel Dos Reis * algebra/syntax.spad.pamphlet (Syntax): Print syntax objects as s-expressions. * algebra/sex.spad.pamphlet (SExpression): Print strings as String. 2008-11-02 Gabriel Dos Reis * interp/Makefile.pamphlet (template.$(FASLEXT)): Remove. * interp/template.boot: Move non-dead code where appropriate. Remove file. * boot/ast.boot (bfQ): Improve. 2008-11-02 Gabriel Dos Reis * lisp/core.lisp.in (|$ExtraRuntimeLibraries|): Listify. (extra-runtime-libs): Tidy. * lisp/Makefile.in (edit): stringify $(oa_c_runtime_extra) elements. 2008-11-02 Gabriel Dos Reis * driver/utils.c (OPENAXIOM_DEFAULT_DRIVER): Can no longer be openaxiom_unknown_driver. (openaxiom_preprocess_arguments): If a file is specified, then it is a script unless told otherwise. 2008-11-01 Gabriel Dos Reis * interp/g-util.boot: Import "ggreater". * interp/category.boot: Import "g-cndata" * interp/c-util.boot: Import "g-opt". * interp/Makefile.pamphlet: Adjust Make rules. 2008-11-01 Gabriel Dos Reis Fix AW/2212001 * sman/sman.c (process_arguments): Fix thinko. (process_options): Complain about unknown options. 2008-11-01 Gabriel Dos Reis * sman/sman.c (ptsPath): Remove. * sman/Makefile.in: Add additional C runtimes for link. * lib/openpty.c: Include and where available. (ptyopen): Lose third parameter. Tidy. (makeNextPtyNames): Now static. * clef/edible.c (controllerPath): Remove. Adjust call to ptyopen. * clef/Makefile.in (clef_LDADD): Add extra C runtimes. 2008-10-31 Gabriel Dos Reis * boot/ast.boot (genECLnativeTranslation): Fix thinko. 2008-10-30 Gabriel Dos Reis * interp/sys-macros.lisp (APPEND2): Remove. 2008-10-29 Gabriel Dos Reis * interp/i-analy.boot (bottomUpDefaultCompile): Declared local variables really are locals. * interp/i-map.boot (findLocalVars1): Fix typo. 2008-10-26 Gabriel Dos Reis * interp/i-syscmd.boot (summary): Quote path. (copyright): Likewise. 2008-10-26 Gabriel Dos Reis * hyper/presea.in: Rename from hyper/presea. `awk' is not substitued at configuration time. 2008-10-25 Gabriel Dos Reis * clef/edible.c: #include "cfuns.h" for oa_getenv use. * graph/Gdraws/Gfun.c: Likewise. * graph/view2D/control2d.c: Likewise. * graph/view2D/main2d.c: Likewise. * graph/view2D/process2d.c: Likewise. * graph/view3D/main3d.c: Likewise. * graph/view3D/process3d.c: Likewise. * graph/viewAlone/spoon2D.c: Likewise. * graph/viewAlone/spoonComp.c: Likewise. * graph/viewman/fun2D.c: Likewise. * graph/viewman/fun3D.c: Likewise. * hyper/extent2.c: Likewise. * hyper/hthits.c: Likewise. * hyper/htinp.c: Likewise. * hyper/initx.c: Likewise. * hyper/lex.c: Likewise. * hyper/parse-types.c: Likewise. * hyper/spadint.c: Likewise. * hyper/titlebar.c: Likewise. * lib/fnct_key.c: Likewise. * sman/sman.c: Likewise. 2008-10-25 Gabriel Dos Reis * include/open-axiom.h: Define WIN32_LEAN_AND_MEAN * lib/sockio-c.c (oa_inet_pton) [__WIN32__]: Use inet_addr. 2008-10-24 Gabriel Dos Reis * interp/sys-os.boot: Import oa_socket_read_byte as readByteFromStreamSocket. Import oa_socket_write_byte as writeByteToStreamSocket. * include/sockio.h (oa_socket_read_byte): Declare. (oa_socket_write_byte): Likewise. * lib/sockio-c.c (oa_socket_read_byte): Define. (oa_socket_write_byte): Likewise. * algebra/net.spad.pamphlet (readByteIfCan!$InetClientStreamSocket): Implement. (writeByteIfCan!$InetClientStreamSocket): Likewise. * etc/asq.c.pamphlet: Update build rules for asq$(EXEEXT). 2008-10-24 Alfredo Portes * hyper/addfile.c: Use oa_getenv function. * hyper/titlebar.c: Likewise. * src/hyper/parse-types.c: Likewise. * src/hyper/htinp.c: Likewise. * src/hyper/extent2.c: Likewise. * src/hyper/spadint.c: Likewise. * src/hyper/htadd.c: Likewise. * src/hyper/lex.c: Likewise. * src/hyper/initx.c: Likewise. * src/sman/sman.c: Likewise. * src/graph/view2D/main2d.c: Likewise. * src/graph/view3D/testcol.c: Likewise. * src/graph/view3D/main3d.c: Likewise. * src/graph/viewman/fun2D.c: Likewise. * src/graph/viewman/fun3D.c: Likewise. * src/graph/Gdraws/Gfun.c: Likewise. * src/graph/viewAlone/spoon2D.c: Likewise. * src/graph/viewAlone/spoonComp.c: Likewise. * src/lib/cfuns-c.c: Likewise. * src/lib/fnct_key.c: Likewise. * src/lib/sockio-c.c: Likewise. * src/lib/cursor.c: Likewise. * src/clef/edible.c: Likewise. * src/etc/asq.c.pamphlet: Likewise. 2008-10-24 Gabriel Dos Reis Add basic support for stream client socket. * lib/sockio-c.c (oa_inet_pton): Define. (oa_get_host_address): Likewise. * algebra/net.spad.pamphlet (IP4Address): New. (NetworkClientSocket): Likewise. (InetClientStreamSocket): Likewise. * algebra/data.spad.pamphlet (DataArray): Rename from DataBuffer. (ByteBuffer): Rename from ByteArray. Reimplement. * algebra/exposed.lsp.pamphlet: Expose IP4Address, InetClientStreamSocket, NetworkClientSocket. 2008-10-22 Gabriel Dos Reis * algebra/exposed.lsp.pamphlet: Unexpose BinaryFile. * algebra/files.spad.pamphlet (BinaryFile): Remove. 2008-10-22 Gabriel Dos Reis * algebra/net.spad.pamphlet (InputOutputBinaryFile): New. (position$InputBinaryFile): New. (position!$InputBinaryFile): Likewise. * algebra/exposed.lsp.pamphlet: Expose InputOutputBinaryFile. * algebra/Makefile.pamphlet (axiom_algebra_layer_user): Add IOBFILE. 2008-10-21 Gabriel Dos Reis * boot/ast.boot: Expand on native call translation. * interp/sys-os.boot (oa_filedesc_read): Adjust declaration. (oa_filedesc_write): Likewise. 2008-10-20 Gabriel Dos Reis * interp/debug.lisp (WHOCALLED): Fix thinko. 2008-10-19 Alfredo Portes * include/open-axiom.h: Replace __MINGW32__ declaration with __WIN32__. * include/sockio.h: Likewise. * hyper/ex2ht.c: Likewise. * lib/cfuns-c.c: Likewise. 2008-10-18 Gabriel Dos Reis * hyper/Makefile.in (openaxiom_host_has_regex): Define. (all-hyper-pre): Install scripts too. 2008-10-18 Gabriel Dos Reis * algebra/syntax.spad.pamphlet (Syntax): Now belong to RetractableTo Integer, RetractableTo DoubleFloat, RetractableTo Symbol, and RetractableTo String. 2008-10-18 Gabriel Dos Reis * algebra/syntax.spad.pamphlet (Syntax): Simplify. 2008-10-17 Gabriel Dos Reis * interp/debug.lisp (WHOCALLED): Add dummy definition. 2008-10-17 Gabriel Dos Reis * interp/i-output.boot (callForm2String): Properly display package call. 2008-10-17 Waldek Hebisch Fix AW/374 * algebra/radix.spad.pamphlet (intgroup$RadixExpansion): Check for big radix. 2008-10-17 Alfredo Portes Fix AW/293 * algebra/gaussian.spad.pamphlet (ComplexCategory): Remove complex attribute. 2008-10-17 Waldek Hebisch Gabriel Dos Reis Fix AW/271 * interp/sys-constants.boot ($Field): New. * interp/i-coerce.boot (retract2Specialization): Ignore expressions whose types do no belong to Field. 2008-10-17 Martin Rubey Fix AW/413, AW/414 * src/algebra/fr.spad.pamphlet: Fix missing returns in loops. * src/algebra/gdpoly.spad.pamphlet: Likewise. * src/algebra/lmdict.spad.pamphet: Likewise. * src/algebra/plot3d.spad.pamphlet: Likewise. * src/algebra/prs.spad.pamphlet: Likewise. * src/algebra/sups.spad.pamphlet: Likewise. 2008-10-17 Waldek Hebisch Gabriel Dos Reis Fix AW/410 * interp/i-syscmd.boot (displaySpad2Cmd): Handle constructor abbreviation. 2008-10-17 Gregory Vanuxem Fix AW/260 * graph/view2D/graph2d.c (freeGraph): 2008-10-16 Gabriel Dos Reis * interp/scan.boot (scanKeyWords): `assume' is a keyword. 2008-10-16 Gabriel Dos Reis * interp/i-spec1.boot (categoryImplies): New. (evalCategory): Use it. 2008-10-15 Waldek Hebisch Fix AW/101 * algebra/laplace.spad.pamphlet (lapkernel): Handle derivatives. 2008-10-15 Gabriel Dos Reis * interp/compiler.boot (backendCompile1): Move to c-util.boot. (COMP): Likewise. Rename to backendCompile. (compileFileQuietly): Move to c-util.boot. (compAndDefine): Likewise. (compQuietly): Likewise. (compileQuitely): Likewise. 2008-10-15 Gabriel Dos Reis * algebra/mkfunc.spad.pamphlet (unparse$InputForm): Use inputForm2String$Lisp. 2008-10-14 Gabriel Dos Reis * algebra/mkfunc.spad.pamphlet (coerce$InputForm): Display InputForm as a one-dimensional stream of characters suitable for input to the interpreter. * interp/i-output.boot: Implement conversion of InputForm to displayed OutputForm. 2008-10-14 Gabriel Dos Reis * interp/i-spec2.boot (upQUOTE): Quoted forms belong to InputForm. * interp/sys-constants.boot ($InputForm): New. 2008-10-13 Waldek Hebisch Fix AW/338 * algebra/fspace.spad.pamphlet (smprep$FunctionSpace): Fix thinko 2008-10-13 Waldek Hebisch Fix AW/292 * algebra/defintef.spad.pamphlet (checkForPole): Handler exponention. (checkSMP): Likewise. 2008-10-13 Waldek Hebisch Fix AW/23 * algebra/fspace.spad.pamphlet (isExpt): Tidy. * algebra/algfunc.spad.pamphlet (inroot): Likewise. 2008-10-13 Gabriel Dos Reis Don't step over Common Lisp MAP. * interp/i-analy.boot (bottomUp): Change MAP to %Map. (isEltable): Likewise. * interp/i-coerce.boot (retract): Likewise. * interp/i-eval.boot (getArgValue): Likewise. * interp/i-funsel.boot (selectLocalMms): Likewise. * interp/i-intern.boot (getValueFromEnvironment): Likewise. * interp/i-map.boot (mkAuxiliaryName): Likewise. (augmentMap): Likewise. (displayMap): Likewise. (putBodyInEnd): Likewise. (expandRecursiveBody): Likewise. * interp/i-output.boot (outputTran): Likewise. * interp/i-spec1.boot (declare): Likewise. * interp/i-syscmd.boot (displayMacro): Likewise. * interp/i-toplev.boot (interpret2): Likewise. * interp/patches.lisp (MAP): Remove. * interp/trace.boot (isUncompiledMap): Likewise. 2008-10-12 Gabriel Dos Reis Add support for Lisp declarations in generated Lisp code. * interp/i-map.boot (compileCoerceMap): Tell backend that minivector is global. * interp/i-spec1.boot (compileADEFBody): Likewise. * interp/slam.boot (reportFunctionCompilation): Likewise. * interp/define.boot (spadCompileOrSetq): Tell backend to ignore last argument for simple functions. * interp/c-util.boot (skipDeclarations): New. (lastDeclarationNode): Likewise. (declareGlobalVariables): Likewise. (transformToBackendCode): Use them to allow for Lisp declarations in middle-end forms. * interp/sys-driver.boot (AxiomCore::%sysInit): Reading Lisp level Floating point numbers default to double precision. * algebra/strap: Update. 2008-10-12 Gabriel Dos Reis * interp/nlib.lisp (rpackfile): Remove obsolete code. 2008-10-12 Gabriel Dos Reis * interp/c-util.boot (backendCompileNEWNAM): New. (pushLocalVariable): Likewise. (mutateToBackendCode): Likewise. (transformToBackendCode): Likewise * interp/comp.lisp (FLUIDVARS): Remove. (LOCVARS): Likewise. (SPECIALVARS): Likewise. ($CLOSEDFNS): Likewise. (COMP-NAM): Likewise. (COMP-TRAN): Likewise. (COMP-TRAN-1): Likewise. * interp/compiler.boot (compWithMappingMode): Use transformToBackendCode. (COMP-1): Use backendCompileNEWNAM. * interp/i-analy.boot (bottomUpCompile): Use mutateToBackendCode. 2008-10-10 Gabriel Dos Reis * interp/c-util.boot (backendFluidize): New. * interp/comp.lisp (COMP-TRAN): Use it. (COMP-FLUIDIZE): Remove. 2008-10-10 Gabriel Dos Reis * interp/c-util.boot (backendCompile2): Bootified from COMP-2. * interp/compiler.boot (COMP): Use it. * interp/comp.lisp (COMP-2): Remove. 2008-10-10 Gabriel Dos Reis * interp/c-util.boot ($middleEndMacroList): New. (middleEndExpand): New. (backendCompileILAM): Bootify COMP-ILAM. (backendCompileSLAM): Bootify COMP-SLAM. (backendCompileSPADSLAM): Bootify COMP-SPADSLAM. * interp/comp.lisp (COMP-2): Use them. (COMP-ILAM): Remove. (COMP-SLAM): Likewise. (COMP-SPADLSAM): Likewise. (COMP-TRAN): Use middleEndExpand. (COMP-EXPAND): Remove. ($COMP-MACROLIS): Likewise. 2008-10-09 Gabriel Dos Reis * boot/translator.boot (loadNativeModule): Don't save loaded shared objects. 2008-10-09 Gabriel Dos Reis * algebra/domain.spad.pamphlet (ConstructorKinid): New domain. (Constructor): Likewise. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include CTORKIND. (axiom_algebra_layer_user): Include CTOR. 2008-10-08 Gabriel Dos Reis SF/1872404 fixed. * testsuite/compiler/1872404.spad: New. 2008-10-08 Gabriel Dos Reis SF/1872445 fixed. * testsuite/compiler/1872445.spad: New. 2008-10-08 Gabriel Dos Reis Allow compound argument types in Boot signatures. * boot/parser.boot (bpArgtypeList): New. (bpMapping); Use it. * boot/tokens.boot: Define neutral element for CONCAT. 2008-10-08 Gabriel Dos Reis * boot/ast.boot (bfReduce): Check neutral value for original operator too. (bfReduceCollect): Likewise. 2008-10-07 Gabriel Dos Reis * interp/i-util.boot (printPrompt): New. * interp/ht-util.boot (executeInterpreterCommand): Use it. * interp/int-top.boot (SpadInterpretStream): Likewise. * interp/metalex.lisp (get-a-line): Likewise. * interp/server.boot (serverReadLine): Likewise. (serverLoop): Likewise. 2008-10-07 Gabriel Dos Reis * algebra/Makefile.pamphlet (axiom_algebra_layer_user): Include RGBCMDL, RGBCSPC. * algebra/color.spad.pamphlet (RGBColorModel): New. (RGBColorSpace): Likewise. * algebra/exposed.lsp.pamphlet: Expose them 2008-10-07 Gabriel Dos Reis * interp/define.boot (compCategoryItem): Don't check signatures yet. * interp/c-util.boot (isKnownCategory): New. (diagnoseUknownType): Use it. Expand. * interp/compiler.boot (compCat): Use it. 2008-10-07 Gabriel Dos Reis * interp/nruncomp.boot: Remove unused variable $maximalViews. * interp/package.boot: Likewise. 2008-10-06 Gabriel Dos Reis * interp/functor.boot (DescendCode): Update capsule directory only for non-default implementations. * interp/c-util.boot ($capsuleDirectory): New. (clearCapsuleDirectory): Likewise. (getCapsuleDirectoryEntry): Likewise. (updateCapsuleDirectory): Likewise. (foldSpadcall): Likewise. (foldExportedFunctionReferences): Likewise. * interp/define.boot (compFunctorBody): Use it. 2008-10-06 Gabriel Dos Reis * interp/sys-macros.lisp (|quietlyIfInteractive|): New. * interp/compiler.boot (quietlyIfInteractive): Use it. (compQuietly): Likewise. (compileQuietly): Likewise. 2008-10-05 Gabriel Dos Reis * interp/c-util.boot ($optExportedFunctionReference): New. (setCompilerOptimizations): Set it. * interp/define.boot ($capsuleFunctionStack): New. (spadCompileOrSetq): Collect capsule function definitions. (compFunctorBody): Compile them at end of capsule. 2008-10-05 Gabriel Dos Reis * interp/c-util.boot (getFunctionReplacement): Tidy. * algebra/data.spad.pamphlet (Byte): Likewise. 2008-10-04 Gabriel Dos Reis * interp/c-util.boot (isAtomicForm): New. (replaceSimpleFunctions): Use it. Simplify back to original implementation. (proclaimCapsuleFunction): Constructor parameters are generic. * interp/sys-utility.boot (getVMType): Handle wildcard. * algebra/stream.spad.pamphlet: Don't build STREAM with proclamation on -- it currently violates type rules. 2008-10-04 Gabriel Dos Reis * algebra/data.spad.pamphlet (sample$Byte): New. 2008-10-04 Gabriel Dos Reis * interp/c-util.boot (eqSubstAndCopy): New. (eqSubst): Likewise. (replaceSimpleFunctions): Handle XLAM-replaceable functions. * interp/wi1.boot (pairList): Remove duplicate. 2008-10-03 Gabriel Dos Reis * interp/c-util.boot (clearReplacement): New. (getFunctionReplacement): Likewise. (replaceSimpleFunctions): Likewise. * interp/define.boot (spadCompileOrSetq): Use it. 2008-10-03 Gabriel Dos Reis * algebra/Makefile.pamphlet: Turn on optimization for algbera build. 2008-10-02 Gabriel Dos Reis * algebra/data.spad.pamphlet (Byte): Add coercion to and from Character. 2008-10-01 Gabriel Dos Reis * interp/i-spec1.boot (upcase): Tidy. * interp/i-spec2.boot (evalIsntPredicate): Likewise. * interp/sys-utility.boot (existingFile?): Likewise. 2008-10-01 Gabriel Dos Reis * algebra/outform.spad.pamphlet (doubleFloatFormat$OutputForm): Move from DoubleFloat. 2008-10-01 Gabriel Dos Reis * algebra/net.spad.pamphlet (InputBinaryFile): Tidy. 2008-10-01 Gabriel Dos Reis * algebra/array2.spad.pamphlet (TwoDimensionalArrayCategory): Tidy. * algebra/sregset.spad.pamphlet (SquareFreeRegularTriangularSet): Remove unused function decompose. 2008-10-01 Gabriel Dos Reis * algebra/mkfunc.spad.pamphlet (InputForm): Remove local mkProperOp. (compile$InputForm): Tidy. * algebra/boolean.spad.pamphlet (setelt$IndexedBits): A bit is not a Boolean. * interp/i-intern.boot (mkAtreeForToken): New. 2008-10-01 Gabriel Dos Reis * interp/c-util.boot ($optProclaim): New. ($optReplaceSimpleFunctions): Likewise. (setCompilerOptimizations): Likewise. Set them. (proclaimCapsuleFunction): New. * interp/compiler.boot (compileSpad2Cmd): Handle option ')optimize'. * interp/define.boot (compile): Proclaim if appropriate. * interp/sys-driver.boot (compileSpadLibrary): Honor optimization level set on commmand line. * interp/sys-utility.boot (getVMType): Tidy. * interp/types.boot (%Void): Likewise. (IntegerSection): New. 2008-10-01 Gabriel Dos Reis * interp/i-output.boot: Move dispatch table from property.lisp. * interp/buildom.boot: Likewise. * interp/def.lisp: Likewise. 2008-10-01 Gabriel Dos Reis * algebra/files.spad.pamphlet (IOMode): New domain. * algebra/net.spad.pamphlet (InputBinaryFile): Likewise. (OutputBinaryFile): Likewise. * interp/sys-utility.boot (openBinaryFile): New. (readByteFromFile): Likewise. (writeByteToFile): Likewise. (closeFile): Likewise. 2008-09-28 Gabriel Dos Reis * algebra/regset.spad.pamphlet (RegularTriangularSet): Remove unused local decompose function. 2008-09-27 Gabriel Dos Reis * algebra/outform.spad.pamphlet (OutputForm): Remove bogus definition for Rep. Tidy. 2008-09-26 Gabriel Dos Reis * algebra/matrix.spad.pamphlet (new$Matrix): New. Remove uses of pretend. Define Rep. 2008-09-25 Gabriel Dos Reis * include/cfuns.h (oa_copy_file): Declare. * lib/cfuns-c.c (oa_chdir): Define. (oa_dirname): Fix typo. * hyper/htadd.c (copy_file): Remove. (build_db_filename): Tidy. (delete_file): Use oa_copy_file. 2008-09-24 Gabriel Dos Reis * interp/i-analy.boot (putCallInfo): New. (bottomUp): Use it. * interp/i-spec1.boot (upand): Likewise. (upor): Likewise. (upcase): Likewise. * interp/i-spec2.boot (uperror): Likewise. 2008-09-23 Gabriel Dos Reis * algebra/fortmac.spad.pamphlet (MachineFloat): Don't redeclare base. 2008-09-22 Gabriel Dos Reis * boot/parser.boot (bpReturn): Allow assignment. 2008-09-21 Gabriel Dos Reis * algebra/syntax.spad.pamphlet: Tie the recursive knots between syntax domains. 2008-09-21 Gabriel Dos Reis * algebra/syntax.spad.pamphlet (SpadAst): New. * algebra/Makefile.pamphlet (axiom_algebra_layer_user): Add SPADAST. * share/algebra: Update algebra databases. 2008-09-21 Gabriel Dos Reis * algebra/syntax.spad.pamphlet (SpadAstExports): New. * algebra/Makefile.pamphlet (axiom_algebra_layer_user): Add SPADXPT. Update dependency rules. * share/algebra: Update algebra databases. 2008-09-21 Gabriel Dos Reis * algebra/boolean.spad.pamphlet (Boolean): Now belong to OrderedFinite. 2008-09-20 Gabriel Dos Reis * interp/sys-macros.lisp (|byteEqual|): New. * algebra/boolean.spad.pamphlet (PropositionalLogic): Extend SetCategory. (PropositionalFormula): Now unconditional exports coercion to OutputForm. Adjust implementation. (KleeneTrivalentLogic): New. * algebra/data.spad.pamphlet (Byte): Tidy. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Move PROPLOG to layer 1. 2008-09-20 Gabriel Dos Reis * include/cfuns.h (oa_dirname): Declare. * lib/cfuns-c.c (openaxiom_is_path_separator): New. (oa_dirname): Define. (writeablep): Use it. * algebra/fname.spad.pamphlet (writable?$FileName): Tidy. 2008-09-19 Gabriel Dos Reis * interp/g-util.boot (getTypeOfSyntax): Infer more syntax domains. * algebra/Makefile.pamphlet: Add dependency rules for syntax domains. * algebra/exposed.lsp.pamphlet: Expose more syntax domains. 2008-09-18 Gabriel Dos Reis * interp/lisplib.boot (getConstructorSignature): Relax. 2008-09-18 Gabriel Dos Reis * interp/c-util.boot (displayAmbiguousSignatures): New. (ambiguousSignatureError): Likewise. * interp/define.boot (hasSigInTargetCategory): Use it to reject ambiguous lhs of a definition. * interp/lisplib.boot (leaveIfErrors): Fix typo. * algebra/aggcat.spad.pamphlet: Disambiguate definitions. * algebra/card.spad.pamphlet: Likewise. * algebra/dhmatrix.spad.pamphlet: Likewise. * algebra/divisor.spad.pamphlet: Likewise. * algebra/expexpan.spad.pamphlet: Likewise. * algebra/ffcat.spad.pamphlet: Likewise. * algebra/ffcg.spad.pamphlet: Likewise. * algebra/ffnb.spad.pamphlet: Likewise. * algebra/ffp.spad.pamphlet: Likewise. * algebra/generic.spad.pamphlet: Likewise. * algebra/groebf.spad.pamphlet: Likewise. * algebra/modring.spad.pamphlet: Likewise. * algebra/moebius.spad.pamphlet: Likewise. * algebra/mts.spad.pamphlet: Likewise. * algebra/naalgc.spad.pamphlet: Likewise. * algebra/ore.spad.pamphlet: Likewise. * algebra/outform.spad.pamphlet: Likewise. * algebra/pf.spad.pamphlet: Likewise. * algebra/poly.spad.pamphlet: Likewise. * algebra/polycat.spad.pamphlet: Likewise. * algebra/prtition.spad.pamphlet: Likewise. * algebra/radix.spad.pamphlet: Likewise. * algebra/rep2.spad.pamphlet: Likewise. * algebra/stream.spad.pamphlet: Likewise. * algebra/string.spad.pamphlet: Likewise. * algebra/tree.spad.pamphlet: Likewise. * algebra/triset.spad.pamphlet: Likewise. * algebra/view2D.spad.pamphlet: Likewise. * algebra/sf.spad.pamphlet: Remove signature for hash. * algebra/si.spad.pamphlet: Likewise. 2008-09-18 Bill Page Gabriel Dos Reis * algebra/mkfunc.spad.pamphlet (parseString$InputForm): New. 2008-09-17 Gabriel Dos Reis * interp/g-util.boot (getTypeOfSyntax): Infer more syntax domains. * algebra/syntax.spad.pamphlet: Add more syntax domains. * algebra/exposed.lsp.pamphlet: Expose more syntax object domains. * algebra/Makefile.pamphlet (axiom_algebra_layer_user): Add more syntax object files. 2008-09-14 Gabriel Dos Reis * algebra/net.spad.pamphlet (Conduit): New. (InputByteConduit): Likewise. (OutputByteConduit): Likewise. (InputOutputByteConduit): Likewise. * algebra/exposed.lsp.pamphlet: Expose Conduit, InputByteConduit, OutputByteConduit, InputOutputByteConduit. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include CONDUIT. (axiom_algebra_layer_13): Include INBCON, INBCON-, OUTBCON, OUTBCON-. (axiom_algebra_layer_14): Include IOBCON. 2008-09-14 Gabriel Dos Reis * interp/sys-os.boot (readablep): Import. (writeablep): Document. * algebra/fname.spad.pamphlet (exists?$FileName): Use existingFile? (readable?$FileName): Use readablep. (writeable?$FileName): Use writeable. 2008-09-13 Gabriel Dos Reis * lisp/core.lisp.in (TRANSLATE-OPTION-VALUE): New. (parseOption): Use it. 2008-09-13 Gabriel Dos Reis * lisp/core.lisp.in (|$NativeTypeTable|): Don' include `pointer' and `buffer'. * lisp/Makefile.in (pointer_type): Remove. (edit): Tidy. * boot/ast.boot (nativeType): Tidy. Handle `pointer' and `buffer' here. * boot/translator.boot (genImportDeclaration): Tidy. 2008-09-13 Gabriel Dos Reis * boot/translator.boot (AxiomCore::%sysInit) [ECL]: Remove settings for ECL-base builds. (getIntermediateLispFile): Tidy. 2008-09-10 Gabriel Dos Reis * interp/define.boot (displayMissingFunctions): Fix typo. 2008-09-09 Gabriel Dos Reis Alfredo Portes * lib/sockio-c.c (openaxiom_sleep): Move to open-axiom.h. * clef/edible.c: Include "open-axiom.h". Use openaxiom_sleep, not sleep. * graph/view2D/viewport2D.c: Likewise. * graph/viewAlone/spoon2D.c: Likewise. * graph/viewAlone/spoonComp.c: Likewise. * graph/viewman/fun2D.c: Likewise. * graph/viewman/fun3D.c: Likewise. * hyper/spadint.c: Likewise. * sman/session.c: Likewise. * sman/sman.c: Likewise. 2008-09-07 Gabriel Dos Reis * boot/parser.boot (bpImport): Invert syntax for importing foreign functions. * boot/strap/parser.clisp: Update. * interp/sys-os.boot: Change to new syntax throughout. 2008-09-07 Gabriel Dos Reis Ensure SingleFloat is 32-bit, DoubleFloat 64-bit. * interp/types.boot: Tidy. * interp/sys-constants.boot: Define limits for builtin numeric types. * interp/sys-os.boot: Import sys-constants. * interp/foam_l.lisp: Import sys-constants. Align builtin numeric types with OpenAxiom runtime's. * interp/fortcall.boot: Tidy. * interp/i-output.boot: Likewise. * interp/Makefile.pamphlet (foam_l.$(FASLEXT)): Now require sys-constants.$(FASLEXT). * algebra/si.spad.pamphlet: Use $ShortMinimum and $ShortMaximum for SingleInteger limits. * algebra/sf.spad.pamphlet: Use $DoubleFloatMaximum, $DoubleFloatMinimum for DoubleFloat limits. * algebra/strap: Update cached Lisp translation. 2008-09-06 Gabriel Dos Reis * include/sockio.h (openaxiom_filedesc): New. Abstract over differences between Win32 named pipes and POSIX local sockets. * lib/sockio-c.c: Use it. 2008-09-06 Gabriel Dos Reis * lib/sockio-c.c (oa_open_ip4_client_stream_socket): Use deprecated inet_addr on MinGW host. 2008-09-06 Gabriel Dos Reis * interp/sys-os.boot (openIP4ClientStreamSocket): New. (readFromStreamSocket): Likewise. (writeToStreamSocket): Likewise. (closeSocket): Likewise. * include/sockio.h: Include (oa_open_ip4_client_stream_socket): Declare. (oa_socket_write): Likewise. (oa_socket_read): Likewise. * lib/sockio-c.c (openaxiom_unload_socket_module): New. (openaxiom_load_socket_module): Tidy. (openaxiom_socket_is_invalid): New. (is_invalid_socket): Use it. (oa_open_ip4_client_stream_socket): Define. (oa_socket_read): Likewise. (oa_socket_write): Likewise. 2008-09-06 Gabriel Dos Reis * lib/cfuns-c.c (oa_unlink): Tidy. 2008-09-05 Gabriel Dos Reis * interp/daase.lisp (processDir): Lose last argument. Don't change directory. (localdatabase): Adjust call. * interp/lisplib.boot (getAllIndexPathnames): Take an argument. (getAllAldorObjectFiles): Likewise. 2008-09-04 Gabriel Dos Reis * interp/g-util.boot (getTypeOfSyntax): Handle more ASTs. * algebra/syntax.spad.pamphlet (SpadSyntaxCategory): Add pretty-printer. (HeadAst): Use Identifier. (TypeAst,MappingAst,ImportAst,SignatureAst,AttributeAst,JoinAst, IfAst,RepeatAst,WhileAst,InAst,CollectAst,ConstructAst, ExitAst,ReturnAst,SequenceAst,LetAst,PretendAst,CoerceAst, RestrictAst,CallAst,SegmentAst): New domains. * algebra/Makefile.pamphlet (axiom_algebra_layer_user): Add TYPEAST, IMPTAST, MAPPAST, ATTRAST, JOINAST, IFAST, RPTAST WHILEAST, INAST, CLLCAST, LSTAST, EXITAST, RETAST, SEGAST, PRTDAST, CRCAST, LETAST. * share/algebra: Update databases. 2008-09-02 Alfredo Portes * hyper/util.ht: Use OpenAxiom name in Hyperdoc pages. * hyper/rootpage.ht: Likewise. 2008-09-02 Gabriel Dos Reis * algebra/syntax.spad.pamphlet (Literal): New. (Identifier): Likewise. (Signature): Tidy. * algebra/exposed.lsp.pamphlet: Expose IDENT and LITERAL. * algebra/Makefile.pamphlet (axiom_algebra_layer_user): Add LITERAL and IDENT. (user-stamp): Don't depend directly on bootstrap-stamp. * share/algebra/: Update databases. 2008-09-01 Martin Rubey Gabriel Dos Reis Fix AW/431 * algebra/ore.spad.pamphlet (SpareUnivariateSkewPolynomial): Implement **. 2008-09-01 Gabriel Dos Reis Make ^ an alias for **. * interp/postpar.boot (postAtom): Replace "^" with "**". * interp/format.boot (reportOpSymbol): Announce that "^" is an alias for "**". * interp/nrungo.boot (compiledLookup): Be sure to look for "**" when operation is "^". * interp/define.boot (noteCapsuleFunctionDefinition): New. (clearCapsuleFunctionTable): Likewise. (noteExport): Likewise. (clearExportsTable): Likewise. (compDefineCapsuleFunction): Rename "^" to "**". Take a note of the capsule function being compiled. (compCapsule): Clear previous capsule functions table. (doItIf): Keep track of predicate validity. (compCategory): Clear previous exports table. (compCategoryItem): Take notes of declared attributes and signatures. * algebra/catdef.spad.pamphlet (DivisionRing): Remove duplicate definition for "^". (Group): Likewise. (Monoid): Likewise. (SemiGroup): Likewise. * algebra/poly.spad.pamphlet (PolynomialRing): Remove duplicate definitins of "^". (SparseUnivariatePolynomial): Likewise. * algebra/multpoly.spad.pamphlet (SparseMultivariatePolynomial): Remove duplicate definitions for "^". * algebra/interval.spad.pamphlet (Interval): Remove duplicate definition for "^". * algebra/curve.spad.pamphlet (FunctionFieldCategory): Remove duplicate declaration for represents. * algebra/strap/: Update cached Lisp translations. * share/algebra: Update databases. 2008-08-31 Gabriel Dos Reis * algebra/stream.spad.pamphlet (Stream): Remove duplicate of concat. * algebra/naalgc.spad.pamphlet (FramedNonAssociativeAlgebra): disambiguate coordinates. * algebra/aggcat.spad.pamphlet (FiniteLinearAggregate): Remove duplicate definition of reverse. * algebra/algcat.spad.pamphlet (FramedAlgebra): Remove duplicate definition of regularRepresentation. Explicitly disambiguate the argument of coodinates. * algebra/efupxs.spad.pamphlet (ElementaryFunctionsUnivariatePuiseuxSeries): Remove duplicate definition of asinhIfCan, acoshIfCan, asechIfCan, acshIfCan. * algebra/equation2.spad.pamphlet (Equation): Remove duplicate definition of *: (S,%) -> %. Remove duplicate of factorAndSplit. * algebra/fortpak.spad.pamphlet (MultiVariableCalculusFunctions): Remove duplicate definition of jacobian. * algebra/tree.spad.pamphlet (BinaryTree): Remove duplicate definition of empty. 2008-08-31 Waldek Hebisch Alfredo Portes * hyper/pages/util.ht: Restore commented commands. 2008-08-31 Waldek Hebisch Alfredo Portes * algebra/intef.spad.pamphlet: Fix Bug AW/308. 2008-08-31 Waldek Hebisch Alfredo Portes * algebra/gaussian.spad.pamphlet: Fix Bug AW/15. 2008-08-31 Waldek Hebisch Alfredo Portes * algebra/manip.spad.pamphlet: Fix Bug AW/278. 2008-08-30 Gabriel Dos Reis * algebra/boolean.spad.pamphlet (Boolean): Remove definition of operator ^. * algebra/aggcat.spad.pamphlet (BitAggregate): Likewise. * algebra/color.spad.pamphlet: Replace use of '^' as logical negation by 'not'. * algebra/ddfact.spad.pamphlet: Likewise. * algebra/fortran.spad.pamphlet: Likewise. * algebra/gaussfac.spad.pamphlet: Likewise. * algebra/gbeuclid.spad.pamphlet: Likewise. * algebra/gbintern.spad.pamphlet: Likewise. * algebra/ghensel.spad.pamphlet: Likewise. * algebra/groebsol.spad.pamphlet: Likewise. * algebra/ideal.spad.pamphlet: Likewise. * algebra/idecomp.spad.pamphlet: Likewise. * algebra/indexedp.spad.pamphlet: Likewise. * algebra/listgcd.spad.pamphlet: Likewise. * algebra/mfinfact.spad.pamphlet: Likewise. * algebra/modgcd.spad.pamphlet: Likewise. * algebra/multfact.spad.pamphlet: Likewise. * algebra/multsqfr.spad.pamphlet: Likewise. * algebra/newpoint.spad.pamphlet: Likewise. * algebra/npcoef.spad.pamphlet: Likewise. * algebra/permgrps.spad.pamphlet: Likewise. * algebra/pgcd.spad.pamphlet: Likewise. * algebra/pleqn.spad.pamphlet: Likewise. * algebra/qalgset.spad.pamphlet: Likewise. * algebra/radeigen.spad.pamphlet: Likewise. * algebra/rep2.spad.pamphlet: Likewise. * algebra/solverad.spad.pamphlet: Likewise. * algebra/space.spad.pamphlet: Likewise. * algebra/view2D.spad.pamphlet: Likewise. * algebra/strap/: Update cached Lisp translateion * share/algebra/: Update databases. 2008-08-30 Gabriel Dos Reis * lib/sockio-c.c (oa_open_local_client_stream_socket): Use OPENAXIOM_AF_LOCAL, not AF_LOCAL. 2008-08-29 Gabriel Dos Reis * interp/sys-driver.boot (initializeGlobalState): Parse --bootstrap. 2008-08-29 Waldek Hebisch * hyper/htinp.c: Use strcpy instead of strcat. * hyper/presea: Misc. * hyper/pages/man0.ht: Fix htsearch path. * hyper/pages/MSET.ht: Fix link name. * hyper/pages/util.ht: Fix paths. * hyper/pages/xmpexp.ht: Fix link name. * hyper/pages/ug01.ht: Likewise. 2008-08-29 Gabriel Dos Reis * algebra/aggcat.spad.pamphlet: Import used domains. * algebra/any.spad.pamphlet: Likewise. * algebra/catdef.spad.pamphlet: Likewise. * algebra/drawopt.spad.pamphlet: Likewise. * algebra/equation2.spad.pamphlet: Likewise. * algebra/ituple.spad.pamphlet: Likewise. * algebra/mkfunc.spad.pamphlet: Likewise. * algebra/omdev.spad.pamphlet: Likewise. * algebra/out.spad.pamphlet: Likewise. * algebra/plot.spad.pamphlet: Likewise. * algebra/print.spad.pamphlet: Likewise. * algebra/seg.spad.pamphlet: Likewise. * algebra/stream.spad.pamphlet: Likewise. * algebra/system.spad.pamphlet: Likewise. 2008-08-29 Waldek Hebisch Alfredo Portes Fix AW/280 * interp/br-search.boot (grepConstruct): Return error messages verbatim. 2008-08-29 Gabriel Dos Reis * interp/c-util.boot (isKnownType): New. (diagnoseUknownType): Likewise. * interp/define.boot (compCategoryItem): Use it. Check for unknown types. 2008-08-29 Gabriel Dos Reis * interp/lisplib.boot (augModemapsFromDomain1): Move to modemap.boot (mkEvalableCategoryForm): Move to define.boot 2008-08-28 Gabriel Dos Reis * interp/sys-os.boot (readFromFileHandle): New. (writeToFileHandle): Likewise. (closeFileHandle): Likewise. (openLocalClientStreamSocket): Likewise (oa_filedesc_read): Likewise. (oa_filedesc_write): Likewise. (oa_filedesc_close): Likewise. * include/sockio.h (oa_open_local_client_stream_socket): Declare. * lib/sockio-c.c (oa_open_local_client_stream_socket): Define. (oa_filedesc_read): Likewise. (oa_filedesc_write): Likewise. (oa_filedesc_close): Likewise. 2008-08-28 Gabriel Dos Reis * Makefile.pamphlet: Tidy. 2008-08-24 Gabriel Dos Reis * etc/Makefile.in: Tidy databases construction rule. 2008-08-24 Gabriel Dos Reis * algebra/data.spad.pamphlet (DataBuffer): New. 2008-08-23 Gabriel Dos Reis * algebra/net.spad.pamphlet: New. * algebra/Makefile.pamphlet (axiom_algebra_layer_1): Include HOSTNAME and PORTNUM. * algebra/exposed.lsp.pamphlet: Export them. 2008-08-23 Gabriel Dos Reis * lisp/core.lisp.in [CLISP]: Set global customization variables. Don't translate C-strings. * boot/ast.boot (nativeType) [SBCL]: Don't translate C-strings. 2008-08-23 Gabriel Dos Reis * algebra/any.spad.pamphlet (Maybe): New domain. * algebra/exposed.lsp.pamphlet: Expose it. * algebra/Makefile.pamphlet (axiom_algebra_layer_1): Include MAYBE. 2008-08-22 Gabriel Dos Reis * algebra/view3D.spad.pamphlet (TUBE): Remove as unused. (FParamR): Likewise. (URF): Likewise. 2008-08-22 Gabriel Dos Reis * OpenAxiom-1.2.0 has been released. 2008-08-21 Grégory Vanuxem * interp/g-timer.boot (printTimeIfTrue): Don't compute the quotient of the integer division. 2008-08-21 Gabriel Dos Reis * lisp/core.lisp.in (|systemRootDirectory|): Lookup option by name. (|systemLibraryDirectory|): Likewise. 2008-08-21 Gabriel Dos Reis * interp/g-error.boot (systemErrorHandler): New. * interp/sys-driver.boot (restart): Use it. 2008-08-20 Gabriel Dos Reis * boot/Makefile.in (oa_boot_linkset): Tidy. ($(oa_boot_linkset)): New Make rule. * lisp/Makefile.in (oa_base_lisp_linkset): Tidy. ($(oa_base_lisp_linkset)): New Make rule. * lisp/core.lisp.in (linkset-from): Read the linkset from the file. 2008-08-20 Gabriel Dos Reis * interp/compiler.boot (compMacro): Honor $verbose. * interp/modemap.boot (putDomainsInScope): Likewise. * interp/wi1.boot (compMacro): Likewise. 2008-08-19 Gabriel Dos Reis * include/open-axiom.h (oa_buffer_address): New macro. * sman/session.c (read_from_spad_io): Use It. (accept_session_connection): Likewise. (read_from_session): Likewise. * sman/sman.c (read_from_spad_io): Likewise. (read_from_manager): Likewise. (exec_command_env): Explicitly cast the null pointer to char*. 2008-08-19 Gabriel Dos Reis * interp/sys-driver.boot (AxiomCore::%sysInit): Fix indentation thinko. 2008-08-19 Gabriel Dos Reis * include/open-axiom.h (oa_buffer_address): New macro. * sman/session.c (read_from_spad_io): Use It. (accept_session_connection): Likewise. (read_from_session): Likewise. * sman/sman.c (read_from_spad_io): Likewise. (read_from_manager): Likewise. (exec_command_env): Explicitly cast the null pointer to char*. 2008-08-19 Gabriel Dos Reis * interp/lisplib.boot (compDefineLisplib): Don't update $CategoryFrame with modemap for the constructor we just finished compiling. 2008-08-19 Gabriel Dos Reis * interp/database.boot (pathToDatabase): Honor $verbose. * interp/compiler.boot (COMP-1): Likewise. 2008-08-17 Gabriel Dos Reis * interp/sys-globals.boot ($verbose): Move from sys-driver.boot. (initializeGlobalState): Set it and honor it. * interp/daase.lisp (initial-getdatabase): Be talkative only when asked. 2008-08-17 Gabriel Dos Reis * interp/sys-globals.boot ($updateCatTableIfTrue): Default to false. * interp/sys-driver.boot (AxiomCore::%sysInit): Have ECL quiet. (initializeGlobalState): Initialize new world states. * interp/define.boot (compDefine): Tidy. (compDefineCategory2): Explicitly initialize $TOP_LEVEL and $definition. * interp/daase.lisp (|fillDatabasesInCore|): Use $buildingSystemAlgebra. * interp/compiler.boot (compMakeDeclaration): Explicitly initialize $insideExpressionIfTrue. * boot/translator.boot (AxiomCore::%sysInit): Supper GCL and ECL compiler notes, but ask for warning. 2008-08-17 Gabriel Dos Reis * algebra/Makefile.pamphlet (all-algstrap): New. * algebra/strap: Update cached Lisp translation. 2008-08-16 Gabriel Dos Reis * interp/sys-driver.boot (openDatabases): Rename from RESTART0. (initializeGlobalState): Tidy. (executeSpadScript): Don't display start up messages. (compileSpadLibrary): Likewise. (buildDatabasesHandler): Likewise. (systemMain): Initialize global states. * interp/nrunfast.boot: Defin $NRTvec, $monitorNewWorld. * interp/daase.lisp (|fillDatabasesInCore|): Rename from RESETHASHTABLES. (|closeAllDatabaseStreams|): Rename from closeAllDatabases * interp/util.lisp (build-interpsys): Initialize macro table. * interp/htcheck.boot: Don't initialize macro table here. 2008-08-16 Gabriel Dos Reis * interp/daase.lisp (DaaseName): Move to database.boot. Rename as pathToDatabase. (|closeAllDatabases|): New. Split from RESETHASHTABLES. * interp/util.lisp (build-interpsys): Call it here. 2008-08-16 Gabriel Dos Reis * interp/Makefile.pamphlet (%.$(LNKEXT) %.$(FASLEXT)): Tidy. (%.$(LNKEXT) %.$(FASLEXT)): Likewise. 2008-08-16 Gabriel Dos Reis * boot/strap: Update cached Lisp translation. * lisp/core.lisp.in (linkset-from-if): Fix typo. 2008-08-16 Gabriel Dos Reis * algebra/strap: New. Sequester cached Lisp translation of algebra bootstrap domains here. 2008-08-15 Gabriel Dos Reis * interp/define.boot (compDefineCategory2): Use rwriteLispForm. (compDefineFunctor1): Likewise. * interp/wi1.boot (compDefineCategory2): Likewise. (compDefineFunctor1): Likewise. 2008-08-15 Gabriel Dos Reis * lisp/core.lisp.in (|%basicSystemIsComplete|): New. Export. (|link|): Use prologue for all systems. * interp/sys-driver.boot (systemMain): New. Break from restart(). (restart): Tidy. * interp/boot-pkg.lisp: Don't push :OPEN-AXIOM-BOOT-COMPLETE. 2008-08-15 Gabriel Dos Reis * lisp/core.lisp.in (|$StandardLinking|): New. Export. * lisp/Makefile.in (edit): Update. * interp/daase.lisp: Don't load initial databases when --system-algebra. * interp/Makefile.pamphlet (${SAVESYS}): Build with --system-algebra. 2008-08-15 Gabriel Dos Reis * interp/vmlisp.lisp (BPINAME): Define for ECL too. * interp/util.lisp (*BIN-TYPE*): Remove. Use $faslType throughout. * interp/daase.lisp (get-current-directory): Tidy conditional definition. 2008-08-15 Gabriel Dos Reis * lisp/core.lisp.in (getOptionValue): Export. * interp/sys-driver.boot (initializeGlobalState): Record value for --system-algebra. * interp/sys-globals.boot ($buildingSystemAlgebra): Declare. * interp/compiler.boot (compileSpad2Cmd): Don't build local database if compiling system algebra. * interp/i-syscmd.boot (compileAsharpCmd1): Likewise. * algebra/Makefile.pamphlet (%.NRLIB/code.$(FASLEXT)): Use --system-algebra. (SPADPRSR.NRLIB/code.$(FASLEXT)): Likewise. (PARSER.NRLIB/code.$(FASLEXT)): Likewise. 2008-08-14 Gabriel Dos Reis * interp/Makefile.pamphlet: Simplify build of interpsys and AXIOMsys. (interpsys_modules): Remove. (IN_modules): Likewise. (AS_modules): Likewise. (makeint.lisp): Simplify. (makeint.$(LNKEXT)): New make rule. (${SAVESYS}): Tidy. (${AXIOMSYS}): Likewise. * interp/util.lisp (build-interpsys): Lose first parameter. Tidy. 2008-08-14 Gabriel Dos Reis * interp/sys-driver.boot (buildDatabasesHandler): New. Install it as handler for --build-databases. * etc/Makefile.in ($(openaxiom_databases)): Adjust. 2008-08-13 Gabriel Dos Reis * interp/Makefile.pamphlet (OBJS): Don't include union.$(FASLEXT) twice. (ASCOMP): Don't include here. 2008-08-13 Gabriel Dos Reis * input/expr.input.pamphlet: Fix typo. 2008-08-13 Gabriel Dos Reis * lisp/core.lisp.in (LINKSET-FROM): New. (SYSTEM-SUBDIRECTORY): Likewise. (LINKSET-FROM-IF): Likewise. (COMPLETE-FASL-LIST-FOR-LINK): Use it. (getPrologue): New. (link): Take an additional optional parameter for prologue. Tidy. (makeHandler): Adjust. * lisp/Makefile.in: Use LNKEXT where appropriate. (oa_base_lisp_linkset): New. ($(oa_target_lispdir)/core.$(LNKEXT)): New rule. (base-lisp$(EXEEXT)): Now depends on $(oa_base_lisp_linkset). (mostlyclean-local): Remove $(oa_target_lispdir) too. * boot/Makefile.in: Use LNKEXT instead of FASLEXT. (boot_objects_extra): Remove. (oa_target_bootdir): New. (oa_boot_linkset): Likewise. (stamp): Require $(oa_boot_linkset). ($(oa_target_bootdir)/%.$(LNKEXT)): New rule. (strap/bootsys$(EXEEXT)): Add prologue code. (stage1/bootsys$(EXEEXT)): Likewise. (stage2/bootsys$(EXEEXT)): Likewise. (mostlyclean-local): Remove $(oa_target_bootdir) too. 2008-08-12 Gabriel Dos Reis * interp/patches.lisp (RESTART0): Don't duplicate code; call CREATE-INITIALIZERS. (|COMP,TRAN|): Remove. (|spadHash|): Likewise. (|$internalHistoryTable|): Don't define here. (|isBpiOrLambda|): Remove. (|libraryFileLists|): Likewise. (|normalizeArgFileName|): Likewise. (save-system) [LUCID]: Likewise. (|undoINITIALIZE|): Likewise. (|isLowerCaseLetter|): Don't define here. (|isUpperCaseLetter|): Likewise. (|isLetter|): Likewise. (printCopyright): Remove. (user-homedir-pathname): Likewise. (BUMPCOMPERRORCOUNT): Likewise. (|cpCms|): Likewise. (|normalizeTimeAndStringify|): Likewise. (whocalled): Likewise. (|compressHashTable|): Likewise. (SETLETPRINTFLAG): Don't define here. (RESTART0): Move to sys-driver.boot * interp/g-util.boot (charRangeTest): Remove. 2008-08-12 Gabriel Dos Reis * interp/sys-driver.boot (SPAD-SAVE): Fold content into savesystem. Remove. 2008-08-11 Gabriel Dos Reis * interp/Makefile.pamphlet: Move warm.data.stanza to topics.boot. 2008-08-11 Gabriel Dos Reis * interp/obey.lisp: Remove. * interp/Makefile.pamphlet (OBJS): Don't include obey.$(FASLEXT). * interp/br-data.boot: Replace OBEY with runCommand. * interp/br-saturn.boot: Likewise. * interp/br-search.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/compat.boot: Likewise. * interp/debug.lisp: Likewise. * interp/g-util.boot: Likewise. * interp/ht-root.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/patches.lisp: Likewise. * interp/spad.lisp: Likewise. * interp/util.lisp: Likewise. * interp/vmlisp.lisp: Likewise. 2008-08-10 Gabriel Dos Reis * interp/Makefile.pamphlet: Clean up. * interp/sys-driver.boot (SET-RESTART-HOOK): Remove. 2008-08-10 Gabriel Dos Reis * algebra/syntax.spad.pamphlet (AbstractSyntaxCategory): New. (HeadAst): Likewise. 2008-08-10 Gabriel Dos Reis Fix AW/422 * interp/i-spec1.boot (upDeclare): Fields are not declarations. * interp/i-map.boot (getUserIdentifiersIn): Ignore field names. * testsuite/interpreter/aw-422.input: New. 2008-08-09 Gabriel Dos Reis * interp/pf2sex.boot (pf2Sex1): Handle more ASTs. (pfType2SexOrNil): New. (pfDoc2SexOrNil): Likewise. (pfWith2Sex): Likewise. (pfAdd2Sex): Likewise. (pfWDeclare2Sex): Likewise. (pfAttribute2Sex): Likewise. (pfWIf2Sex): Likewise. (pfExport2Sex): Likewise. (pfInline2Sex): Likewise. (pfImport2Sex): Likewise. (pfQualType2Sex): Likewise. * interp/ptrees.boot (pf0InlineItems): New. * interp/i-spec2.boot (up%Import): New. (sorry): Likewise. (up%Export): Likewise. (up%Inline): Likewise. (up%With): Likewise. (up%Add): Likewise. * interp/i-intern.boot (mkAtree3): Handle %Inline, %With, %Add, and %Export. * interp/i-spec1.boot ($specialOps): Adjust. * doc/msgs/s2-us.msgs (S2IP0006): New. 2008-08-09 Gabriel Dos Reis * include/open-axiom.h (OPENAXIOM_HAVE_GRAPHICS): Define. * sman/sman.c (process_arguments): Use it. (process_arguments): Likewise. 2008-08-09 Alfredo Portes Gabriel Dos Reis * sman/sman.c: Do not start hyperdoc/graphics if OpenAxiom was build without X support. 2008-08-09 Gabriel Dos Reis * input/grpthry.input.pamphlet: Fix typo. 2008-08-09 Gabriel Dos Reis * interp/buildom.boot: Rename AST code LET to %LET throughout. * interp/c-util.boot: Likewise. * interp/comp.lisp: Likewise. * interp/compiler.boot: Likewise. * interp/cparse.boot: Likewise. * interp/def.lisp: Likewise. * interp/define.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/i-eval.boot: Likewise. * interp/i-intern.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-spec2.boot: Likewise. * interp/iterator.boot: Likewise. * interp/mark.boot: Likewise. * interp/newaux.lisp: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/package.boot: Likewise. * interp/parse.boot: Likewise. * interp/pf2atree.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/postpar.boot: Likewise. * interp/property.lisp: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/slam.boot: Likewise. * interp/spad.lisp: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise. 2008-08-08 Gabriel Dos Reis * interp/pf2sex.boot (pfMacro2Sex): New. (pfMLambda2Sex): Likewise. (pf2Sex1): Use them. * interp/i-spec2.boot ($VoidValueObject): New. ($VoidCodeObject): Likewise. (setValueToVoid): Likewise. (setCodeToVoid): Likewise. (upDEF): Call setValueToVoid. (upfree): Call setCodeToVoid (uplocal): Likewise. (interpIF): Call setValueToVoid. (up%Macro): New. (up%MLambda): Likewise. * interp/i-spec1.boot ($specialOps): Add %Macro and %MLambda. * interp/macex.boot (macMacro): Really return the original macro as the documentation says. 2008-08-08 Gabriel Dos Reis * lib/Makefile.in ($(axiom_target_libdir)/libopen-axiom-core.$(LIBEXT)): Tidy. * interp/pf2sex.boot (pfApplication2Sex): Don't transform ">", "=>", and "<=" expressions. * algebra/aggcat.spad.pamphlet (part?$SetAggregate): Rename from <$SetAggregate. (part?$FiniteSetAggregate): Rename from <$FiniteSetAggregate * algebra/mset.spad.pamphlet (part?$Multiset): Rename from <$Mulitset. * algebra/pleqn.spad.pamphlet (overset?$ParametricLinearEquations): Use part? instead of <. * algebra/qalgset.spad.pamphlet (overset?$QuasiAlgebraicSet): Likewise. * input/mset.input.pamphlet: Adjust. * input/mset2.input.pamphlet: Likewise. 2008-08-07 Gabriel Dos Reis * interp/apply.boot: Move content to compiler.boot. Remove. * interp/Makefile.pamphlet (OCOBJS): Remove apply.$(OBJEXT). 2008-08-07 Gabriel Dos Reis * lisp/core.lisp.in (boot-completed-p): New. (|$useDynamicLink|): Likewise. (|$effectiveFaslType|): Hold extension of linkable FASL. (|$NativeModuleExt|): Tidy. (|$CoreLibName|): New. (|$ExtraRuntimeLibraries|): Likewise. (extra-runtime-libs): Likewise. (complete-fasl-list-for-link): Likewise. (|link|) [ECL]: Link against system libraries. (|compileLispFile|): Tidy. (begin-compile-time): New. (end-compile-time): Likewise. (compile-time-p): Likewise. (import-module): Use it. * lisp/Makefile.in ($(OUT)/lisp$(EXEEXT)): Use oa_c_runtime_extra. * lib/Makefile.in (oa_installed_corelib): New. * boot/initial-env.lisp: Don't export systemRootDirectory and systemLibraryDirectory from here. * boot/translator.boot (systemRootDirectory): Move to lisp/core.lisp. (systemLibraryDirectory): Likewise. (loadSystemRuntimeCore): Do nothing for GCL and ECL. * interp/boot-pkg.lisp: Inform that Boot system is compleye. 2008-08-07 Gabriel Dos Reis * boot/translator.boot (genOptimizeOptions): New. (shoeClLines): Use it. (shorClCLines): Likewise. * lisp/core.lisp.in ($LispOptimizeOptions): New; export. 2008-08-06 Gabriel Dos Reis * interp/Makefile.pamphlet (makeint.lisp): Tidy. 2008-08-05 Grégory Vanuxem * interp/foam_l.lisp: Export Nil. 2008-08-05 Gabriel Dos Reis * interp/cparse.boot (npWith): Commit to parsing upon `with'. (npAdd): Commit to parsing upon `add'. (npDef): Tell npDefTail to look for '=='. (npMdef): Accept argument to indicate '==' or '==>' forms. (npSingleRule): A Rule is given by '=='. (npDefTail): Take the kind of definition as a parameter. (npDefinitionItem): Macro definitions are definitions. (npMDEFinition): Remove. (npMDEF): Hand off to npMdef to parse macro definitions. (npMacro): Macros introduced by `macro' keyword uses '=='. 2008-08-05 Gabriel Dos Reis * interp/cparse.boot (npExpress1): Make assignment an expression, therefore a statement. 2008-08-04 Gabriel Dos Reis Fix SF/2037811 * interp/vmlisp.lisp (EMBED): Evaluate lambda forms to FUNCTIOn type. * interp/trace.boot (transTraceItem): Fix thinko. (spadTrace): Use assoc, not ASSOC. (addTraceItem): Test for domain objects before constructors. 2008-08-04 Gabriel Dos Reis Fix SF/2037804 * interp/i-syscmd.boot (cd): Convert new directory name to PATHNAME type before setting as default. 2008-08-04 Gabriel Dos Reis * interp/cparse.boot ($npPParg): Remove. ($npPCff): Likewise. (npPPff, npPCff): Take an argument. (npPPf): Likewise. (npPPg, npPCg): Likewise. (npPP, npPC): Pass around a suspension of the argument. 2008-08-04 Gabriel Dos Reis * Makefile.pamphlet: Use $(mkdir_p) in lieu of $(mkinstalldirs), during build. Also use 'cp -p' instead of $(INSTALL). * algebra/Makefile.pamphlet: Likewise. * graph/Makefile.in: Likewise. * boot/Makefile.in: Likewise. * hyper/Makefile.in: Likewise. * input/Makefile.pamphlet: Likewise. * interp/Makefile.pamphlet: Likewise. * lib/Makefile.in: Likewise. * lisp/Makefile.in: Likewise. * share/Makefile.in: Likewise. 2008-08-03 Gabriel Dos Reis * interp/pf2sex.boot: Replace CAR with first, and CARD with second throughout. 2008-08-03 Alfredo Portes * interp/setvart.boot: Fix wrong parenthesis. * interp/format.boot: Add mathObject2String function. 2008-08-03 Gabriel Dos Reis * interp/sys-globals.boot ($compilingInputFile): Remove. ($minivectorNames): Likewise. * interp/i-map.boot (compileCoerceMap): Don't set $minivectorNames and $minivectorCode. * interp/i-spec1.boot (compileADEFBody): Likewise. * interp/i-toplev.boot (processInteractive): Likewise. * interp/nrungo.boot (NRTgetMinivectorIndex): Likewise. * interp/slam.boot (reportFunctionCompilation): Likewise. 2008-08-02 Gabriel Dos Reis * interp/nrungo.boot (NRTisRecurrenceRelation): Lookup "not" with signature % -> %. * interp/br-con.boot: Use "~=" for inequality. 2008-08-02 Gabriel Dos Reis * interp/buildom.boot: Use constants by names. * interp/i-analy.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-intern.boot: Likewise. * interp/i-resolv.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/mark.boot: Likewise. * interp/nrungo.boot: Likewise. * interp/postpar.boot: Likewise. * interp/wi1.boot: Likewise. 2008-08-02 Gabriel Dos Reis * boot/parser.boot (bpTerm): Term forms depend on the kind of variable. (bpTypeItem): New. (bpTypeItemList): Use it. (bpTypeAliasDefition): Tidy. (bpCaseItem): Accept wildchars in pattern terms. * boot/ast.boot (bfCompDef): Don't name unused pattern variables. (bfSmintable): A character compares EQL. (bfCI): Ignore wildcard pattern variables. * boot/strap: Update cached Lisp translation. 2008-08-01 Gabriel Dos Reis * interp/macros.lisp (sayBrightlyNT1): Tidy. (sayBrightly1): Likewise. * interp/msgdb.boot (sayNewLine): Take two defauled arguments. (sayString): Take a second defaulted arguments. (spadStartUpMsgs): Tidy. (brightPrint): Likewise. (brightPrint0): Likewise. (brightPrint0AsTeX): Likewise. (brightPrint1): Likewise. (brightPrintHighlight): Likewise. (brightPrintHighlightAsTeX): Likewise. (brightPrintCenter): Likewise. (brightPrintCenterAsTeX): Likewise. (brightPrintRightJustify): Likewise. * interp/i-output.boot (mathprint): Take a second defaulted argument. * boot/ast.boot (%Assignment): Rename from Assignment. 2008-08-01 Gabriel Dos Reis * interp/msgdb.boot (BRIGHTPRINT-0): Remove. (BRIGHTPRINT): Likewise. * interp/macros.lisp (sayBrightly1): Use brightPrint0 and brightPrint. (sayBrightlyNT1): Likewise. 2008-07-26 Gabriel Dos Reis * interp/compiler.boot (getConstructorFormOfMode): Remove. (getConstructorMode): Likewise. (isConstructorForm): Likewise. 2008-07-24 Gabriel Dos Reis * interp/scan.boot: Tidy. * interp/ptrees.boot: Define AST for type schemes. * interp/cparse.boot (npType): Parse type schemes. (npQuantifierVariable): New. (npADD): Accept only monotypes. * interp/pf2sex.boot (pf2Sex1): Handle type schemes. (pfQuantified2Sex): New. 2008-07-23 Gabriel Dos Reis * interp/cparse.boot (npMonoType): Rename from npType. * boot/strap: Update cached Lisp translation. * boot/parser.boot (bpExportItemTail): New. (bpExportItem): Likewise. (bpExportItemList): Use it. (bpSimplMapping): New. (bpMapping): Use it. * boot/translator.boot (translateToplevel): Tidy. * include/open-axiom.h [__MINGW32__]: Include . * interp/astr.boot: Export functions. * interp/posit.boot: Likewise. 2008-07-20 Gabriel Dos Reis * interp/compiler.boot (compNot): Rename from compileNot. 2008-07-15 Gabriel Dos Reis * input/pat.input.pamphlet (square): Define square an operatpr. Fix SF/2015650 * interp/compiler.boot (coerceExtraHard): Forms with type Category are categories. 2008-07-14 Gabriel Dos Reis * share/algebra: Update databases. * algebra/Makefile.pamphlet (axiom_algebra_layer_9): Add SIG. * algebra/syntax.spad.pamphlet (Signature): New. 2008-07-12 Gabriel Dos Reis * interp/i-funsel.boot (findUniqueOpInDomain): Use evaluation type context. 2008-07-11 Gabriel Dos Reis * interp/sys-driver.boot (initializeGlobalState): New. (executeSpadScript): Use it. (compileSpadLibrary): Likewise. * interp/i-syscmd.boot (spool): Synchronize with standard output. * boot/translator.boot (bpOutItem): Tidy. * interp/nruncomp.boot (NRTencode): Don't encode enumerations. (listofBoundVars): Enumerations don't bind any varaible. 2008-07-10 Gabriel Dos Reis * interp/compiler.boot (compQuote): Restrict quoting to literal symbols. * algebra/any.spad.pamphlet: Use nil for empty list. * algebra/boolean.spad.pamphlet: Fix quoting. 2008-07-09 Gabriel Dos Reis * interp/i-spec2.boot (findConstantInDomain): Abstract from upDollar. (upDollar): Use it. Don't return general constants as mappings. * interp/fnewmeta.lisp (|PARSE-FloatTok|): Fix typo. 2008-07-08 Gabriel Dos Reis * interp/template.boot (evalSlotDomain): Likewise. (NRTaddInner): Likewise. * interp/nrunfast.boot (lazyMatch): Handle Enumeration. (newExpandLocalTypeForm): Likewise. * interp/lisplib.boot (isFunctor): Enumeration is a functor too. * interp/nruncomp.boot (NRTencode): Encode Enumeration too. 2008-07-07 Gabriel Dos Reis * interp/spad.lisp (S-PROCESS): Remove Old Boot specific codes. * interp/server.boot (parseAndInterpret): Don't set $BOOT. * interp/setvars.boot (resetWorkspaceVariables): Likewise. * interp/spad-parser.boot (parseSpadFile): Likewise. * interp/postpar.boot: Disable Old Boot handling codes. * interp/metalex.lisp (quote-if-string): Don't test for $BOOT. * interp/parsing.lisp (IOStat): Likewise. (IOClear): Likewise. * interp/ht-util.boot (parseAndEval): Don't set $BOOT. * interp/int-top.boot (ncTopLevel): Likewise. * interp/fnewmeta.lisp: Remove Old Boot specific productions. * interp/sys-macros.lisp (-REDUCE): Don't test for $BOOT. (SPADDO): Likewise. * interp/comp.lisp (COMP-TRAN-1): Likewise. * interp/util.lisp (|string2SpadTree|): Likewise. * interp/bootlex.lisp (READBOOT): Remove. (READ-BOOT): Likewise. (spad): Don't initialize $BOOT. * interp/debug.lisp (/D-2): Likewise. 2008-07-06 Gabriel Dos Reis * boot/initial-env.lisp: Export $InteractiveMode and string2BootTree. * boot/translator.boot (BOOTTOCL): Tidy. (BOOTTOCLC): Likewise. (BOOTTOCLLINES): Likewise. (BOOTTOCLCLINES): Likewise. (string2BootTree): Define. (translateToplevelExpression): Tidy. (translateToplevel): Handle atoms. Tidy. (shoePCompileTrees): Don't use bStreamPackageNull. * interp/boot-pkg.lisp: Import $interactiveMode and string2BootTree. * interp/util.lisp (string2BootTree): Remove. (OLD-BOOT::BOOT): Likewise. * interp/bootlex.lisp (boot): Likewise. (boot-parse-1): Likewise. * interp/compiler.boot (compileNot): Fix thinko. * interp/sys-globals.boot ($InteractiveMode): Don't define here. 2008-07-06 Gabriel Dos Reis * interp/parse.boot ($normalizeTree): New. (parseNotEqual): Likewise. * interp/compiler.boot (compCompilerPredicate): New. (compileNot): Use it. * interp/define.boot (compSubDomain1): Likewise. (doItIf): Likewise. * interp/bootlex.lisp (boot): Set $nornamizeTree. * algebra/Makefile.pamphlet (axiom_algebra_layer_9): Move from layer 4 to here. 2008-07-06 Gabriel Dos Reis * interp/parse.boot (parseTran): Don't set $op. Don't strip parse tree codes. (parseConstruct): Handle parse tree code. (parseUpArrow): Likewise. (parseLeftArrow): Likewise. (parseIs): Likewise. (parseIsnt): Likewise. (parseLET): Likewise. (parseLETD): Likewise. (parseColon): Likewise. (parseBigelt): Likewise. (parseCoerce): Likewise. (parseAtSign): Likewise. (parsePretend): Likewise. (parseHas): Likewise. (parseDEF): Likewise. (parseMDEF): Likewise. (parseCategory): Likewise. (parseGreaterThan): Likewise. (parseGreaterEqual): Likewise. (parseLessEqual): Likewise. (parseNotEqual): Likewise. (parseAnd): Likewise. (parseOr): Likewise. (parseEquivalence): Likewise. (parseImplies): Likewise. (parseExclusiveOr): Likewise. (parseExit): Likewise. (parseLeave): Likewise. (parseReturn): Likewise. (parseJoin): Likewise. (parseInBy): Likewise. (parseSegment): Likewise. (parseIn): Likewise. (parseIf): Likewise. (parseWhere): Likewise. (parseSeq): Likewise. (parseVCONS): Likewise. 2008-07-05 Gabriel Dos Reis * interp/nruncomp.boot (NRTassocIndex): Document. (NRTgetLocalIndexClear): Remove. (NRTgetLocalIndex1): Lose second unused argument; move body to NRTgetLocalIndex. * interp/define.boot (doIt): Call NRTgetLocalIndex, not NRTgetLocalIndexClear. * interp/wi2.boot (NRTgetLocalIndex): Rename from NRTgetLocalIndex1. 2008-07-04 Gabriel Dos Reis * interp/compiler.boot (compFormMatch): Tidy. (getFormModemaps): Likewise. (compComma): New. * interp/c-util.boot (isTupleInstance): New. (isHomoegenousVarargSignature): Likewise. (enoughArguments): Likewise. (wantArgumentsAsTuple): Likewise. * interp/apply.boot (reshapeArgumentList): New. (compFormWithModemap): Use it. 2008-07-04 Gabriel Dos Reis Fix AW/429 * algebra/multpoly.spad.pamphlet (IndexedExponents): Fix comment type. 2008-07-04 Gabriel Dos Reis * interp/category.boot (isCategory): Document. (isCategoryForm): Likewise. Tidy. (mkCategory): Likewise. 2008-07-03 Gabriel Dos Reis * interp/Makefile.pamphlet (OBJS): Don't include nruntime.$(FASLEXT). (nruntime.$(FASLEXT)): Remove rule. * interp/g-util.boot (getShellEntry): Move from interp/nruntime.boot. (setShellEntry): Likewise. * interp/i-util.boot (devaluateDeeply): Likewise. * interp/lisplib.boot (unloadOneConstructor): Likewise. * interp/nrungo.boot (lookupDisplay): Likewise. (isIntantiated): Likewise * interp/package.boot (isCategoryPackageName): Likewise. * interp/nruntime.boot: Remove. 2008-07-03 Bill Page Gabriel Dos Reis Fix AW/428 * algebra/syntax.spad.pamphlet (ConstructorCall): Now a member of SetCategory. (Domain): Likewise. * share/algebra: Update databases. * testsuite/interpreter/aw-428.input: New. 2008-07-02 Gabriel Dos Reis * interp/compiler.boot (compExpression): Tidy. (coerceExtraHard): Convert domain instantiations to domain objects. (compAndDefine): Capture by name, not pointer. (compQuietly): Likewise. (compileQuietly): Likewise. * interp/macros.lisp (PRINT-AND-EVAL-DEFUN): Move to sys-utility.boot. (EVAL-DEFUN): Likewise. (COMPILE-DEFUN): Likewise. * interp/postpar.boot (postBootNotEqual): Register post-parsers by name, not by pointers. 2008-06-14 Gabriel Dos Reis * algebra/variable.spad.pamphlet (ModePatternVariable): New. 2008-06-02 Gabriel Dos Reis * interp/comp.lisp (|compAndDefine|): Move to interp/compiler.boot (COMP): Likewise. (|compQuietly|): Likewise. (|compileQuietly|): Likewise. (COMP-1): Likewise. * interp/define.boot (compDefineCategory): Check that a category was indeed abbreviated a category. 2008-05-29 Gabriel Dos Reis Fix AW/421. * interp/i-spec2.boot (uphas): When compiling a function, don't bother evaluating type variables. * testsuite/interpreter/aw-412.input: Add. 2008-05-29 Gabriel Dos Reis * interp/i-analy.boot (conceptualType): Only Mode, Domain, and Category are conceptually abstract. * testsuite/interpreter/category.input: Add a testcase. 2008-05-29 Gabriel Dos Reis * interp/interop.boot (newHasCategory): Category is a category, and all domains belong to Category. * testsuite/interpreter/category.input: New. 2008-05-28 Gabriel Dos Reis * interp/showimp.boot (showPredicates): Fix typo. * testsuite/interpreter/show.input: New. 2008-05-28 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (OrderedMonoid): Nown OrderedSemiGroup and a Monoid. * share/algebra: Updata databases. 2008-05-27 Gabriel Dos Reis * include/open-axiom.h (openaxiom_handle): New datatype. * hyper/node.h [!X_DISPLAY_MISSING]: Use it. 2008-05-25 Gabriel Dos Reis * algebra/catdef.spad.pamphlet (OrderedSemiGroup): New. * algebra/Makefile.pamphlet (axiom_algebra_layer_1): Include OSGROUP. 2008-05-24 Gabriel Dos Reis * interp/i-coerce.boot (retract2Specialization): Leave if object is an Expression, but not a fraction. * interp/define.boot (compDefineFunctor1): Robustify. * hyper/parse-types.c (htperror): Fix thinko. 2008-05-23 Gabriel Dos Reis * interp/c-util.boot (stackAndThrow): Take an optional parameter. * interp/compiler.boot (compReturn): Robustify. (unknownTypeError): Likewise. * interp/info.boot (knownInfo): Likewise. * algebra/modgcd.spad.pamphlet: Fix sectioning thinko. 2008-05-23 Gabriel Dos Reis Fix AW/57 * etc/Makefile.in: Make all databases part of the final system. 2008-05-22 Gabriel Dos Reis * hyper/token.h: Avoid numeric constants macros. Prefix enumerations with "openaxiom_". * hyper/cond.c: Adjust. * hyper/display.c: Likewise. * hyper/event.c: Likewise. * hyper/extent1.c: Likewise. * hyper/extent2.c: Likewise. * hyper/htadd.c: Likewise. * hyper/htinp.c: Likewise. * hyper/macro.c: Likewise. * hyper/mem.c: Likewise. * hyper/parse-aux.c: Likewise. * hyper/parse-input.c: Likewise. * hyper/parse-paste.c: Likewise. * hyper/parse-types.c: Likewise. * hyper/parse.c: Likewise. * hyper/scrollbar.c: Likewise. * hyper/show-types.c: Likewise. * hyper/spadint.c: Likewise. * hyper/titlebar.c: Likewise. * hyper/hyper.h: Move lexing stuff to hyper/lex.h * hyper/htadd.c: Don't include hyper.h. Include cfuns.h and node.h instead. 2008-05-21 Gabriel Dos Reis * hyper/hthits.c (regerr): Remove. * include/ex2ht.H1: Remove. * include/hthits.H1: Remove. * lib/cfuns-c.c (oa_getenv): Fix thinko. (oa_getcwd): Likewise. * lib/cfuns-c.c (oa_access_file_for_read): Likewise. * hyper/lex.c: Don't include hyper.h, hterror.h and sockio.h. Include node.h. * hyper/hyper.h: Don't include X11 headers. Include node.h. Mode node data structures to node.h. * hyper/cond.c: Don't include hterror.h. Include lex.h * hyper/Makefile.in (HEADERS): Include node.h. Remove hterror.h. (hypertex_SOURCES): Remove hterror.c (htadd_SOURCES): Likewise. * hyper/node.h: New. * hyper/hterror.h: Remove. * hyper/hterror.c (token_name): Move to hyper/lex.c. (print_token): Likewise. (print_next_ten_tokens): Likewise. (print_page_and_filename): Likewise. (jump): Likewise. (ebuffer): Likewise. (htperror): Move to parse-types.c Remove file. * include/cfuns.h (oa_get_tmpdir): Declare. (oa_access_file_for_read): Likewise. * lib/cfuns-c.c (oa_getcwd): Define. (oa_access_file_for_read): Likewise. (oa_get_tmpdir): Likewise. * hyper/addfile.c: Don't include hyper.h (build_ht_filename): Use oa_getcwd, oa_access_file_for_read. (temp_file_open): Use oa_get_tmpdir. * hyper/htadd.c (build_db_filename): Don't fall back to bogus filename. * hyper/hyper.h (temp_dir): Remove. (def_spad): Likewise. * hyper/hyper.h (connect_spad): Declare. (gPageBeingParsed): Likewise. * hyper/htadd.c (session_server): Remove. (MenuServerOpened): Likewise. (gXDisplay): Likewise. (gXScreenNumber): Likewise. * hyper/lex.c (reset_connection): Move to hyper/parse.c (connect_spad): Move to hyper/spadint.c (spad_busy): Likewise. (get_char1): Remove conditional code. * hyper/Makefile.in (mostclean-local): Tidy. 2008-05-21 Gabriel Dos Reis * graph/Gdraws/Makefile.in (HEADERS): Don't include hash.H1. * include/halloc.h: Rename from include/halloc.H1. * include/lex.H1: Remove. * include/hterror.H1: Likewise. * hyper/halloc.c: Likewise. * hyper/hash.c: Likewise. * hyper/Makefile.in (hypertex_SOURCES): Don't include hash.c, halloc.c. 2008-05-21 Igor Kahvkine Waldek Hebisch Fix AW/32 * algebra/sttaylor.spad.pamphlet (powern$StreamTaylorSeriesOperations): Tidy. 2008-05-21 Martin Rubey Fix AW/343 * algebra/free.spad.pamphlet (<$FreeAbelianGroup): Fix ordering. 2008-05-19 Gabriel Dos Reis * boot/ast.boot: Cleanup. * boot/includer.boot: Likewise. * boot/parser.boot: Likewise. * boot/pile.boot: Likewise. * boot/scanner.boot: Likewise. * boot/tokens.boot: Likewise. * boot/translator.boot: Likewise. 2008-05-19 Gabriel Dos Reis Port from btx-branch. * lisp/core.lisp.in ($effectiveFaslType): New. * boot/translator.boot (needsStableReference?): Handle the ECL case. (coerceToNativeType): Likewise. (genImportDeclaration): Likewise. (shoeRemoveStringIfNec): Fix thinko. ($bootDefined): Define. ($bootDefinedTwice): Likewise. ($lispWordTable): Likewise. (getIntermediateLispFile): Use $effectiveFaslType. (loadSystemRuntimeCore): Use coreError, not systemError. 2008-05-18 Martin Rubey Fix AW/412 * algebra/aggcat.spad.pamphlet (=$TableAggregate): Fix thinko. 2008-05-18 Gregory Vanuxem Fix AW/149 * hyper/keyin.h (UnsupportedModMask): Rename from ShiftModMask. * hyper/keyin.c (UnsupportedModMask): Likewise. (get_modifier_mask): New. (init_keyin): Use it. * hyper/dialog.c (dialog): Adjust. 2008-05-18 Bill Page Fix AW/117 * algebra/vector.spad.pamphlet (DirectProductCategory): Also a Monoid is base type belongs to Monoid. (DirectProduct): Implement multiplication is base type belongs to Monoid. 2008-05-18 Gabriel Dos Reis Fix AW/221 * algebra/catdef.spad.pamphlet (OrderedAbelianSemiGroup): Now a join of OrderedSet and AbelianSemiGroup. * algebra/integer.spad.pamphlet (PositiveInteger): Now belongs to both OrderedAbelianSemiGroup and Monoid. Update cached Lisp translation. * shared/algebra: Update databases. 2008-05-18 Gabriel Dos Reis Fix AW/313 * algebra/reclos.spad.pamphlet (sqrt$RealClosedField): Fix signature. 2008-05-18 Waldek Hebisch Gabriel Dos Reis Fix AW/319 * hyper/pages/MSET.ht: Fix typo. 2008-05-18 Martin Rubey Fix AW/321 * hyper/htsearch (htpagedir): Avoid deprecated switch. 2008-05-18 Martin Rubey Fix AW/340 * algebra/numtheor.spad.pamphlet (divisors$IntegerNumberTheoryFunctions): Fix thinko. 2008-05-18 Gabriel Dos Reis * algebra/alql.spad.pamphlet (IndexCard): Don't use pretend. 2008-05-17 Gabriel Dos Reis Fix AW/16 * interp/i-analy.boot (isConceptualCategory): New. * interp/i-object.boot (getValueNormalForm): Use it. * testsuite/interpreter/aw-16.input: New. 2008-05-17 Gabriel Dos Reis * interp/i-object.boot (wrapped2Quote): Reomve. (getValueNormalForm): New. * interp/i-code.boot (intCodeGenCOERCE): Use it. * interp/i-coerce.boot (coerceIntByMap): Likewise. * interp/i-eval.boot (getArgValue): Likewise. (getArgValue2): Likewise. * interp/i-funsel.boot (selectMms): Likewise. * interp/i-map.boot (rewriteMap): Likewise. * interp/i-spec2.boot (IFcodeTran): Likewise. (evalLET): Likewise. (upreturn): Likewise. * interp/g-cndata.boot (isConstructorName): New. * testsuite/interpreter/eval-dep-type.input: New. * interp/format.boot (form2String1): Handle PAREN. * interp/g-cndata.boot (condUnabbrev): Handle homogeneous varargs for constructors taking tuples. * interp/i-resolv.boot: Revolve domains and categories. 2008-05-16 Gabriel Dos Reis Fix AW/420 * interp/compiler.boot (compSetq1): Use %Comma, not Tuple. (setqMultiple): Likewise. * interp/def.lisp (DEF-IS2): Likewise. * interp/define.boot (compAdd): Likewise. * interp/fnewmeta.lisp (|PARSE-Enclosure|): Likewise. * interp/fortcall.boot (lmultiToUnivariate): Likewise. (functionAndJacobian): Likewise. (vectorOfFunctions): Likewise. * interp/mark.boot (markMultipleExplicit): Likewise. (markInsertBodyParts): Likewise. * interp/nruncomp.boot (NRTaddDeltaCode): Likewise. * interp/nrunopt.boot (NRTextendsCategory1): Likewise. * interp/postpar.boot (postTransform): Likewise. (postTran): Likewise. (postPretend): Likewise. (postConstruct): Likewise. (postBlockItem): Likewise. (postCategory): Likewise. (postForm): Likewise. (postTransScripts): Likewise. (postJoin): Likewise. (postMapping): Likewise. (postCollect): Likewise. (postInSeq): Likewise. (postType): Likewise. (post%Comma): Rename from postTuple. (unComma): Rename from unTuple. (comma2Tuple): Remove. * interp/trace.boot (traceSpad2Cmd): Use %Comma, not Tuple. * interp/wi1.boot (compSetq1): Likewise. (setqMultiple):Likewise. * boot/translator.boot (compileBootHandler): Give up if translation to Lisp contained errors. * testsuite/compiler/aw-420.spad: New. * interp/Makefile.pamphlet: Simplify. 2008-05-15 Gabriel Dos Reis * interp/lisplib.boot (leaveIfErrors): Take constructor name parameter. (finalizeLisplib): Adjust call. (compDefineLisplib): Likewise. 2008-05-15 Gabriel Dos Reis * interp/lisplib.boot (leaveIfErrors): New. (compDefineLisplib): Use it. (finalizeLisplib): Likewise. * algebra/Makefile.pamphlet (%.NRLIB/code.$(FASLEXT)): Invoke the compiler directly. (SPADPRSR.NRLIB/code.$(FASLEXT)): Likewise. (PARSER.NRLIB/code.$(FASLEXT)): Likewise. * interp/compiler.boot (compSetq1): Fix thinko. * interp/define.boot (hasSigInTargetCategory): Give a clue to the pretty printer. * interp/sys-utility.boot ($ERASE): Remove declaration. 2008-05-14 Gabriel Dos Reis * algebra/nregset.spad.pamphlet (recip$NormalizationPackage): Fix thinko. 2008-05-13 Gabriel Dos Reis * interp/c-util.boot (warnLiteral): Just warn, really. * algebra/riccati.spad.pamphlet (RationalRicDE): Don't import inexistent RatODETools. 2008-05-12 Gabriel Dos Reis * interp/c-util.boot (isLiteral): Declare. (makeLiteral): Likewise. * interp/compiler.boot (compSymbol): Use isLiteral. * interp/wi1.boot (compSymbol): Likewise. * algebra/asp.spad.pamphlet (Asp30): Don't name local variable as record field. (Asp31): Likewise. (asp34): Likewise. (Asp77): Likewise. (Asp8): Likewise. (Asp9): Likewise. * algebra/fortran.spad.pamphlet (FortranCode): Likewise. * algebra/moebius.spad.pamphlet (MoebiusTransform): Likewise. 2008-05-11 Gabriel Dos Reis Restrict loop variable scopes, take 2. * interp/iterator.boot (compReduce1): Maintain proper scope for loop variables. (compRepeatOrCollect): Really maintain proper scope for loop variables. * interp/compiler.boot (eltModemapFilter): Highlight faulty selector. (seteltModemapFilter): Likewise. * interp/c-util.boot (stackMessage): Don't build message if there is no argument for substitution. * algebra/aggcat.spad.pamphlet (#$UnaryRecursiveAggregate): Declare free loop variable. (cycleEntry$UnaryRecursiveAggregate): Likewise. (cycleLength): Likewise. (merge$OneDimensionalArrayAggregate): Likewise. (delete$OneDimensionalArrayAggregate): Likewise. (position$ListAggregate): Likewise. * algebra/array1.spad.pamphlet (merge!$IndexedFlexibleArray): Likewise. * algebra/combfunc.spad.pamphlet (K2fact$CombinatorialFunction): Likewise. * algebra/curve.spad.pamphlet (nonSingularModel$FunctionFieldCategory): Likewise. * algebra/dpolcat.spad.pamphlet (differentiate$DifferentialPolynomialCategory): Likewise. * algebra/efstruc.spad.pamphlet (validExponential$ElementaryFunctionStructurePackage): Likewise. (ker2explogs$InnerTrigonometricManipulations): Likewise. (complexNormalize$TrigonometricManipulations): Likewise. 2008-05-10 Gabriel Dos Reis * interp/iterator.boot (compRepeatOrCollect): Don't iterator variables and variables declared in a loop are local to that loop. * interp/g-error.boot (needsToSplitMessage): New. (errorSupervisor): Use it. * interp/compiler.boot (compSymbol): Highlight erron=eous symbol. * interp/wi1.boot (stackMessage): Remove duplicate. * algebra/ffcat.spad.pamphlet (FiniteFieldCategory): Tidy. * algebra/fff.spad.pamphlet (FiniteFieldFunctions): Likewie. * algebra/groebsol.spad.pamphlet (GroebnerSolve): Likewise. * algebra/intfact.spad.pamphlet (IntegerRoots): Likewise. * algebra/mkfunc.spad.pamphlet (InputForm): Likewise. * algebra/numtheor.spad.pamphlet (IntegerNumberTheoryFunctions): Likewise. * algebra/permgrps.spad.pamphlet (PermutationGroup): Likewise. * algebra/random.spad.pamphlet (RandomFloatDistributions): Likewise. * algebra/sgcf.spad.pamphlet (SymmetricGroupCombinatoricFunctions): Likewise. * algebra/triset.spad.pamphlet (PolynomialSetUtilitiesPackage): Likewise. * algebra/twofact.spad.pamphlet (TwoFactorize): Likewise. * interp/apply.boot: Miscellanous cleanup. * interp/compiler.boot: Likewise. * interp/c-util.boot: Likewise. * interp/define.boot: Likewise. * interp/format.boot: Likewise. * interp/functor.boot: Likewise. * interp/i-output.boot: Likewise. * interp/info.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/int-top.boot: Likewise. * interp/iterator.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/modemap.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/package.boot: Likewise. * interp/sys-driver.boot: Likewise. 2008-05-09 Gabriel Dos Reis * interp/as.boot: Remove Old Boot semantics. * interp/br-con.boot: Likewise. * interp/br-data.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-op2.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/functor.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/newfort.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/c-util.boot: Remove Old Boot semantics. * interp/database.boot: Likewise. * interp/format.boot: Likewise. * interp/g-timer.boot: Likewise. * interp/i-analy.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-eval.boot: Likewise. * interp/i-intern.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-resolv.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/newfort.boot: Likewise. * boot/includer.boot (diagnosticLocation): New. * boot/ast.boot (bfReName): Use it. 2008-05-08 Gabriel Dos Reis * algebra/java.spad.pamphlet: New. Implement JavaBytecode. * algebra/data.spad.pamphlet (bitand$Byte): New. (bitior$Byte): Likewwise. (byte$Byte): Likewise. * algebra/Makefile.pamphlet (axiom_algebra_layer_15): Include JAVACODE. * boot/translator.boot (translateToplevel): Split out of bpOutItem. (maybeExportDecl): New. * boot/translator.boot (bpOutItem): Handle namespace declaration. Update all boot files to use `namespace' instead of `)package'. * interp/: Likewise. 2008-05-07 Bill Page Gabriel Dos Reis * algebra/boolean.spad.pamphlet (true$Boolean): Simplify. (=$Boolean): Likewise. (equiv$Boolean): Likewise. * interp/spad.lisp (|BooleanEquality|): Remove. 2008-05-07 Gabriel Dos Reis * algebra/boolean.spad.pamphlet (Boolean): Don't pretend to Boolean. Updated cached Lisp translation. * interp/types.boot (%Integer): Alias for Lisp INTEGER class. * interp/sys-utility.boot (getVMType): Integer is represented by %Integer. * interp/postpar.boot (postSignature): Don't ignore constants. 2008-05-06 Gabriel Dos Reis * interp/define.boot: Explicitly initialize fluid variables. * interp/functor.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/package.boot: Likewise. * interp/parse.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/record.boot: Likewise. * interp/template.boot: Likewise. * interp/trace.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise. * lisp/core.lisp.in: Incorporate changes from btx-branch. * lisp/Makefile.in: Likewise. 2008-05-04 Gabriel Dos Reis * interp/sys-utility.boot (getVMType): Fix thinko. * interp/c-util.boot (compilerMessage): Tidy. 2008-05-01 Gabriel Dos Reis * interp/sockio.lisp: Remove. 2008-04-29 Gabriel Dos Reis * boot/tokens.boot: Declare tokens as constants. * boot/parser.boot (bpExportItemList): New. (bpExports): Likewise. (bpModule): Use it. * boot/ast.boot (bfCreateDef): Tidy. * boot/strap: Update cached Lisp translation. 2008-04-29 Gabriel Dos Reis * interp/util.lisp (build-interpsys): Call %sysInit. * boot/translator.boot (shoeClLines): Output module finalization. (shoeClCLines): Likewise. (genImportDeclaration): Tidy. (bpOutItem): Likewise. ($OpenAxiomCoreModuleLoaded): Remove. * interp/sys-driver.boot: Tidy. 2008-04-29 Gabriel Dos Reis * lisp/core.lisp.in: Export %ByteArray and makeByteArray. (CONCAT): Tdiy. * lib/sockio-c.c: Tidy. * lib/cfuns-c.c (oa_getenv): Define. * interp/sys-os.boot (getEnv): Import. (sockGetString): Tidy. * interp/sockio.lisp (sockGetString): Remove GCL's defentry. * interp/server.boot (serverReadLine): sockGetString now takes only one argument. * interp/br-saturn.boot (operationIsNiladicConstructor): New. (operationIsConstructor): Likewise. (displayDomainOp): Use them. * include/cfuns.h (oa_getenv): Declare. * include/sockio.h: Tidy. * boot/translator.boot (needsStableReference?): New. (coerceToNativeType): Likewise. (prepareArgumentsForNativeCall): Likewise. (genImportDeclaration): Use them. 2008-04-25 Gabriel Dos Reis * sman/spadclient.c: Cleanup. * sman/sman.c: Likewise. * sman/session.c: Likewise. * lib/spadcolors.c: Likewise. * lib/sockio-c.c: Likewise. * include/spadint.H1: Likewise. * include/sockio.h: Likewise. * include/hterror.H1: Likewise. * include/com.h: Likewise. * hyper/spadint.c: Likewise. * hyper/spadbuf.c: Likewise. * hyper/parse.c: Likewise. * hyper/lex.c: Likewise. * hyper/hyper.h: Likewise. * hyper/hyper.c: Likewise. * hyper/hterror.c: Likewise. * hyper/htadd.c: Likewise. * graph/viewman/viewman.c: Likewise. * graph/viewman/makeGraph.c: Likewise. * graph/viewman/globalsM.h: Likewise. * graph/view3D/viewport3d.c: Likewise. * graph/view3D/testcol.c: Likewise. * graph/view3D/spadAction3d.c: Likewise. * graph/view3D/main3d.c: Likewise. * graph/view3D/component3d.c: Likewise. * graph/view2D/viewport2D.c: Likewise. * graph/view2D/process2d.c: Likewise. * graph/view2D/main2d.c: Likewise. 2008-04-24 Gabriel Dos Reis * lisp/core.lisp.in (|pathBasename|): New. * interp/br-con.boot (kPageArgs): Remove. (dbPresentCons): Likewise. * interp/br-data.boot (purgeLocalLibdb): Likewise. * interp/br-op1.boot (dbPresentOps): Likewise. (dbConform): Likewise. (dbGatherThenShow): Likewise. (displayDomainOp): Likewise. (htSayIndentRel): Likewise. * interp/br-saturn.boot (htpAddInputAreaString): Likewise. (htpSetLabelInputStringArea): Likewise. (htTab): Likewise * interp/br-search.boot (htShowPageStar): Likewise. (htSay): Likewise. (bcConform1): Likewise. * interp/cformat.boot (pkey): Likewise. * interp/ht-util.boot (htpAddToPageDescrption): Likewise. (bcHt): Likewise. (htInitPage): Likewise. (htAddHeading): Likewise. (htShowPage): Likewise. (htShowPageNoScroll): Likewise. (htMakePage): Likewise. (htMakePage1): Likewise. (htMakeErrorPage): Likewise. (htProcessBcStrings): Likewise. (btBcLinks): Likewise. (btBcLispLinks): Likewise. (setUpDefault): Likewise. (htMakeButton): Likewise. (htDoneButton): Likewise. * interp/hypertex.boot (endHTPage): Likewise. * interp/i-syscmd.boot (makeInitialModemapFrame): Likewise. * interp/macro.lisp (sayNewLine): Likewise. * interp/nhyper.boot (endHTPage): Likewise. * interp/pathname.boot (deleteFile): Likewise. * interp/Makefile.pamphlet (YEARWEEK): Make TIMESTAMPT constant. * boot/translator.boot (getIntermediateLispFile): New. (compileBootHandler): Use it. 2008-04-23 Gabriel Dos Reis * boot/ast.boot: Tidy. * boot/includer.boot: Likewise. * boot/parser.boot: Likewise. * boot/pile.boot: Likewise. * boot/scanner.boot: Likewise. * boot/tokens.boot: Likewise. * boot/translator.boot: Likewise. * boot/strap: Update Lisp translation. * lisp/core.lisp.in: Tidy. 2008-04-21 Gabriel Dos Reis * interp/br-data.boot: Tidy. * interp/br-util.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/cattable.boot: Likewise. * interp/clammed.boot: Likewise. * interp/define.boot: Likewise. * interp/g-cndata.boot: Likewise. * interp/g-util.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/i-map.boot: Likewise. * interp/modemap.boot: Likewise. * interp/nrungo.boot: Likewise. * interp/rulesets.boot: Likewise. * interp/slam.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/Makefile.pamphlet (br-util.$(FASLEXT)): Don't compile as Old Boot. (bc-solve.$(FASLEXT)): Likewise. (ht-util.$(FASLEXT)): Likewise. (rulesets.$(FASLEXT)): Likewise. (i-object.$(FASLEXT)): Likewise. (i-util.$(FASLEXT)): Likewise. (nrunfast.$(FASLEXT)): Likewise. (nrungo.$(FASLEXT)): Likewise. (iterator.$(FASLEXT)): Likewise. (cattable.$(FASLEXT)): Likewise. (c-doc.$(FASLEXT)): Likewise. (posit.$(FASLEXT)): Likewise. (modemap.$(FASLEXT)): Likewise. (slam.$(FASLEXT)): Likewise. (clammed.$(FASLEXT)): Likewise. (g-opt.$(FASLEXT)): Likewise. (g-error.$(FASLEXT)): Likewise. (pathname.$(FASLEXT)): Likewise. (g-util.$(FASLEXT)): Likewise. (g-cndata.$(FASLEXT)): Likewise. * boot/tokens.boot: Remove renaming of NOT to NULL, when compiling Old Boot. 2008-04-21 Gabriel Dos Reis * interp/sys-utility.boot (getVMType): New. * interp/sys-macros.lisp (|byteLessThan|): New. (|byteGreaterEqual|): Likewise. (|makeSimpleArray|): Likewise. (|makeFilledSimpleArray|): Likewise. (|getSimpleArrayEntry|): Likewise. (|setSimpleArrayEntry|): Likewise. (|sizeOfSimpleArray|): Likewise. (|maxIndexOfSimpleArray|): Likewise. * interp/compiler.boot (checkCallingConvention): Tidy return type. * algebra/exposed.lsp.pamphlet: Expose Byte and ByteArray. * algebra/data.spad.pamphlet: New. * algebra/array1.spad.pamphlet (PrimitiveArray): Rewrite. Update cached Lisp translation. * algebra/Makefile.pamphlet (axiom_algebra_layer_1): Include BYTE. (axiom_algebra_layer_12): Include BYTEARY. * share/algebra: Update databases. 2008-04-20 Gabriel Dos Reis * interp/template.boot (evalSlotDomain): Tidy. * interp/macros.lisp (Record): Remove. * interp/buildom.boot (RecordInner): Remove. (Record): Rename from Record0. Tidy. * interp/Makefile.pamphlet (buildom.$(FASLEXT)): Don't compiel as Old Boot. 2008-04-20 Gabriel Dos Reis * interp/Makefile.pamphlet (parse.$(FASLEXT)): Don't compile as Old Boot. * interp/parse.boot (parseTypeEvaluate): Remove. (parseTypeEvaluateArgs): Likewise. (parseType): Don't evaluate type during parsing. ($oldParserExpandAbbrs): Remove. (parseTypeError): Likewise. (specialModeTran): Likewise. * interp/fnewmeta.lisp: Don't overstep on use namespace with Attribute, Signature, and Reduce. * interp/postpar.boot: Likewise. * interp/ptrees.boot: Likewise. Tidy. * interp/Makefile.pamphlet (ptrees.$(FASLEXT)): Don't compile as Old Boot. 2008-04-19 Gabriel Dos Reis * interp/Makefile.pamphlet (postpar.$(FASLEXT)): Dont' compile as Old Boot code. * interp/postpar.boot: Adjust function declarations. (aplTran): Remove. (containsBang): Likewise. (containsBang): Likewise. (aplTranList): Likewise. (hasAplExtension): Likewise. (deepestExpression): Likewise. (postTransform): Adjust. * driver/utils.c (openaxiom_build_rts_options): Fix thinko. 2008-04-19 Gabriel Dos Reis * boot/translator.boot: Cleanup. 2008-04-18 Gabriel Dos Reis * boot/ast.boot (%DefaultValue): New %Ast node. (bfParameterList): New. (bfInsertLet): Use it. (bfInsertLet1): Handle parameter with default values. * boot/parser.boot (bpRegularBVItemTail): Split from bpRegularBVItem. (bpRegularBVItem): Tidy. 2008-04-18 Gabriel Dos Reis * boot/ast.boot: * interp/define.boot ($mutableDomain): Define. (compDefineFunctor): Initialize it before compiling a functor. 2008-04-14 Gabriel Dos Reis * interp/compiler.boot: Don't special case ListCategory, String, VECTOR, and VectorCategory. 2008-04-14 Gabriel Dos Reis * boot/tokens.boot: Don't rename NOT. * interp/define.boot: Add declarations. * interp/types.boot (%Signature): New. 2008-04-13 Gabriel Dos Reis * interp/as.boot: Remove explicit use GETDATABASE. * interp/br-con.boot: Likewise. * interp/br-data.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-op2.boot: Likewise. * interp/br-prof.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/br-search.boot: Likewise. * interp/br-util.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/cattable.boot: Likewise. * interp/clammed.boot: Likewise. * interp/daase.lisp: Likewise. * interp/database.boot: Likewise. * interp/define.boot: Likewise. * interp/format.boot: Likewise. * interp/g-cndata.boot: Likewise. * interp/g-util.boot: Likewise. * interp/hashcode.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-eval.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-resolv.boot: Likewise. * interp/interop.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/mark.boot: Likewise. * interp/modemap.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/parse.boot: Likewise. * interp/postpar.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/showimp.boot: Likewise. * interp/template.boot: Likewise. * interp/topics.boot: Likewise. * interp/types.boot (%Atom): New. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Tidy. (axiom_algebra_layer_4): Likewise. (axiom_algebra_layer_19): Likewise. 2008-04-13 Gabriel Dos Reis * interp/apply.boot: Tidy signature declarations. * interp/as.boot: Use getConstructorKindFromDB throughout. * interp/br-con.boot: Likewise. * interp/br-data.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-op2.boot: Likewise. * interp/br-prof.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/br-search.boot: Likewise. * interp/br-util.boot: Likewise. * interp/cattable.boot: Likewise. * interp/clam.boot: Likewise. * interp/clammed.boot: Likewise. * interp/compiler.boot: Tidy signature declarations. * interp/construct.lisp: Use getConstructorKindFromDB throughout. * interp/daase.lisp: Likewise. * interp/database.boot (getConstructorAbbreviationFromDB): New. (getConstructorCategoryFromDB): Likewise. (getConsructorKindFromDB): Likewise. (getConstructorAncestorsFromDB): Likewise. (getConstructorSourceFileFromDB): Likewise. * interp/define.boot: Use getConstructorKindFromDB throughout. * interp/domain.lisp: Likewise. * interp/format.boot: Likewise. * interp/g-cndata.boot: Likewise. * interp/g-util.boot: Likewise. * interp/i-eval.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-resolv.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/interop.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/parse.boot: Likewise. * interp/setvars.boot: Likewise. * interp/sys-constant.boot ($EmptyVector): Fix thinko * interp/types.boot (%Maybe): New. (%ConstructorKind): Likewise. * input/exsum.input.pamphlet: Fix thinko. * input/mapleok.input.pamphlet: Fix typos. 2008-04-12 Gabriel Dos Reis * interp/ax.boot: Use getConstructorModemap throughout. * interp/br-data.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-prof.boot: Likewise. * interp/br-search.boot: Likewise. * interp/br-util.boot: Likewise. * interp/cattable.boot: Likewise. * interp/daase.lisp: Likewise. * interp/g-util.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/nrunopt.boot: Likewise. 2008-04-12 Juergen Weiss * interp/define.boot (compCapsuleItems): Fix thinko. * interp/newaux.lisp: Increase the binding power of "+->". 2008-04-11 Gabriel Dos Reis * interp/compiler.boot: Register compiler for Enumeration instantiations. * interp/modemap.boot (compCat): Move to compiler.boot. 2008-04-09 Gabriel Dos Reis * boot/translator.boot (bpOutItem): Tidy. * boot/parser.boot (bpTypeAliasDefition): Support parameterized alias. * boot/ast.boot (quote): New. (backquote): Likewise. (genTypeAlias): Likewise. 2008-04-08 Gabriel Dos Reis * interp/nlib.lisp (recompile-lib-file-if-necessary): Remove. * interp/comp.lisp (|compileFileQuietly|): Move to compiler.boot. 2008-04-08 Gabriel Dos Reis * algebra/Lattice.pamphlet: Remove. 2008-04-07 Gabriel Dos Reis * interp/spad.lisp (|evalSharpOne|): Remove. * interp/i-coerce.boot: New. (coerceUnion2Branch): Use it instead of evalSharpOne. 2008-04-07 Gabriel Dos Reis * interp/i-analy.boot (pushDownOp?): Use setShellEntry. * interp/nrunfast.boot (replaceGoGetSlot): Likewise. (lazyDomainSet): Likewise. * interp/nrungo.boot (goGet): Likewise. 2008-04-07 Gabriel Dos Reis * interp/compiler.boot (compWithMappingMode): Use getShellEntry. * interp/define.boot (compDefineFunctor1): Use setShellEntry. (canCacheLocalDomain): Likewise. (compilerCases): Likewise. (doIt): Likewise. * interp/functor.boot (setVector0): Likewise. (setVector3): Likewise. (setVector4part4): Likewise. (setVector5): Likewise. (mkVectorWithDeferral): Likewise. (DescendCodeAdd1): Likewise. (DescendCode): Likewise. (ConsantCreator): Likewise. (SetFunctionSlots): Likewise. (CheckVector): Likewise. * interp/g-opt.boot (optCall): Use getShellEntry. (optSpecialCall): Likewise. * interp/i-util.boot (devaluate): Likewise. * interp/nruncomp.boot (buildFunctor): Use setShellEntry. (NRTsetVector4a): Likewise. (NRTputInLocalReferences): Use getShellEntry. (NRTputInHead): Likewise. * interp/nrunopt.boot (augmentPredVector): Use setShellEntry. * interp/nruntime.boot (getShellEntry): New. (setShellEntry): Likewise. * interp/package.boot (processPackage): Use getShellEntry. (PackageDescendCode): Use setShellEntry. * interp/sys-globals.boot ($QuickCode): Remove. * interp/template.boot (NRTdescendCodeTran): Use setShellEntry. * interp/types.boot (%Void): New. (%Shell): New. * interp/wi2.boot (compDefineFunctor1): Use setShellEntry. 2008-04-06 Gabriel Dos Reis * interp/sys-constants.boot ($quitTag): Define here. * interp/spaderror.lisp ($quitTag): Don't define here. 2008-04-05 Gabriel Dos Reis * graph/include/Gfun.H1: Remove K&R prototypes. * graph/include/buttons2d.H1: Likewise. * graph/include/buttons3d.H1: Likewise. * graph/include/cleanup.H1: Likewise. * graph/include/closeView3d.H1: Likewise. * graph/include/component3d.H1: Likewise. * graph/include/control2d.H1: Likewise. * graph/include/control3d.H1: Likewise. * graph/include/fun2D.H1: Likewise. * graph/include/fun3D.H1: Likewise. * graph/include/graph2d.H1: Likewise. * graph/include/illuminate3d.H1: Likewise. * graph/include/lightbut3d.H1: Likewise. * graph/include/lighting3d.H1: Likewise. * graph/include/main2d.H1: Likewise. * graph/include/main3d.H1: Likewise. * graph/include/make2D.H1: Likewise. * graph/include/make3D.H1: Likewise. * graph/include/makeGraph.H1: Likewise. * graph/include/mesh3d.H1: Likewise. * graph/include/msort3d.H1: Likewise. * graph/include/pot2d.H1: Likewise. * graph/include/pot3d.H1: Likewise. * graph/include/process2d.H1: Likewise. * graph/include/process3d.H1: Likewise. * graph/include/quit3d.H1: Likewise. * graph/include/quitbut3d.H1: Likewise. * graph/include/readView.H1: Likewise. * graph/include/save3d.H1: Likewise. * graph/include/savebut3d.H1: Likewise. * graph/include/smoothShade3d.H1: Likewise. * graph/include/spadAction2d.H1: Likewise. * graph/include/spadAction3d.H1: Likewise. * graph/include/spoon2D.H1: Likewise. * graph/include/spoonComp.H1: Likewise. * graph/include/sselect.H1: Likewise. * graph/include/stuff2d.H1: Likewise. * graph/include/stuff3d.H1: Likewise. * graph/include/surface3d.H1: Likewise. * graph/include/transform3d.H1: Likewise. * graph/include/viewAlone.H1: Likewise. * graph/include/viewport2D.H1: Likewise. * graph/include/viewport3d.H1: Likewise. * graph/include/volume3d.H1: Likewise. * graph/include/write2d.H1: Likewise. * graph/include/write3d.H1: Likewise. * graph/view2D/buttons2d.c: Likewise. * graph/view2D/control2d.c: Likewise. * graph/view2D/graph2d.c: Likewise. * graph/view2D/main2d.c: Likewise. * graph/view2D/pot2d.c: Likewise. * graph/view2D/spadAction2d.c: Likewise. * graph/view2D/stuff2d.c: Likewise. * graph/view2D/viewport2D.c: Likewise. * graph/view2D/write2d.c: Likewise. * graph/view3D/buttons3d.c: Likewise. * graph/view3D/closeView3d.c: Likewise. * graph/view3D/component3d.c: Likewise. * graph/view3D/control3d.c: Likewise. * graph/view3D/illuminate3d.c: Likewise. * graph/view3D/lightbut3d.c: Likewise. * graph/view3D/lighting3d.c: Likewise. * graph/view3D/main3d.c: Likewise. * graph/view3D/mesh3d.c: Likewise. * graph/view3D/msort3d.c: Likewise. * graph/view3D/pot3d.c: Likewise. * graph/view3D/process3d.c: Likewise. * graph/view3D/project3d.c: Likewise. * graph/view3D/quit3d.c: Likewise. * graph/view3D/quitbut3d.c: Likewise. * graph/view3D/save3d.c: Likewise. * graph/view3D/savebut3d.c: Likewise. * graph/view3D/smoothShade3d.c: Likewise. * graph/view3D/spadAction3d.c: Likewise. * graph/view3D/stuff3d.c: Likewise. * graph/view3D/surface3d.c: Likewise. * graph/view3D/testcol.c: Likewise. * graph/view3D/transform3d.c: Likewise. * graph/view3D/viewport3d.c: Likewise. * graph/view3D/volume3d.c: Likewise. * graph/viewAlone/spoon2D.c: Likewise. * graph/view3D/write3d.c: Likewise. * graph/viewAlone/spoonComp.c: Likewise. * graph/viewAlone/viewAlone.c: Likewise. * graph/viewman/cleanup.c: Likewise. * graph/viewman/fun2D.c: Likewise. * graph/viewman/fun3D.c: Likewise. * graph/viewman/make2D.c: Likewise. * graph/viewman/makeGraph.c: Likewise. * graph/viewman/readView.c: Likewise. * hyper/scrollbar.c: Likewise. * lib/util.c: Likewise. 2008-04-05 Gabriel Dos Reis * algebra/system.spad.pamphlet (System): New package. * algebra/Makefile.pamphlet (axiom_algebra_layer_12): Include SYSTEM. * src/share/algebra: Update databases. 2008-04-05 Gabriel Dos Reis * graph/view2D/process2d.c (processEvents): Tidy. * graph/view3D/process3d.c (processEvents): Likewise. 2008-04-04 Gabriel Dos Reis * hyper/hyper.h: Simplify font definitions. 2008-04-04 Gabriel Dos Reis * hyper/event.c (mainEventLoop): Fix thinko. 2008-04-04 Gabriel Dos Reis * include/xpm.h: Don't include * lib/XDither.c: Likewise. * lib/XShade.c: Likewise. 2008-04-04 Gabriel Dos Reis * include/bsdsignal.h: Include . (OPENAXIOM_SIGCHLD): New macro. * hyper/hyper.c (main): Use OPENAXIOM_SIGCHLD. * graph/viewman/viewman.c: Don't include directly. (main): Use OPENAXIOM_SIGCHLD. * graph/viewman/sselect.c: Don't include directly. (superSelect): Tidy. Use OPENAXIOM_SIGCHLD. 2008-04-04 Gabriel Dos Reis * lib/Makefile.in (libopen_axiom_core_objects): Tidy. 2008-04-03 Gabriel Dos Reis * interp/postpar.boot (postBootNotEqual): New. Disallow `^=' in Spad codes. 2008-04-02 Gabriel Dos Reis * algebra/acplot.spad.pamphlet: Replace `^=' with `~='. * algebra/aggcat.spad.pamphlet: Likewise. * algebra/algext.spad.pamphlet: Likewise. * algebra/algcat.spad.pamphlet: Likewise. * algebra/algfunc.spad.pamphlet: Likewise. * algebra/allfact.spad.pamphlet: Likewise. * algebra/array1.spad.pamphlet: Likewise. * algebra/array2.spad.pamphlet: Likewise. * algebra/asp.spad.pamphlet: Likewise. * algebra/card.spad.pamphlet: Likewise. * algebra/carten.spad.pamphlet: Likewise. * algebra/clifford.spad.pamphlet: Likewise. * algebra/combinat.spad.pamphlet: Likewise. * algebra/contfrac.spad.pamphlet: Likewise. * algebra/cra.spad.pamphlet: Likewise. * algebra/crfp.spad.pamphlet: Likewise. * algebra/curve.spad.pamphlet: Likewise. * algebra/defintef.spad.pamphlet: Likewise. * algebra/defintrf.spad.pamphlet: Likewise. * algebra/degred.spad.pamphlet: Likewise. * algebra/derham.spad.pamphlet: Likewise. * algebra/divisor.spad.pamphlet: Likewise. * algebra/efstruc.spad.pamphlet: Likewise. * algebra/eigen.spad.pamphlet: Likewise. * algebra/elemntry.spad.pamphlet: Likewise. * algebra/expr.spad.pamphlet: Likewise. * algebra/ffcat.spad.pamphlet: Likewise. * algebra/ffcg.spad.pamphlet: Likewise. * algebra/fff.spad.pamphlet: Likewise. * algebra/ffhom.spad.pamphlet: Likewise. * algebra/ffnb.spad.pamphlet: Likewise. * algebra/ffp.spad.pamphlet: Likewise. * algebra/ffpoly.spad.pamphlet: Likewise. * algebra/ffpoly2.spad.pamphlet: Likewise. * algebra/files.spad.pamphlet: Likewise. * algebra/float.spad.pamphlet: Likewise. * algebra/gaussian.spad.pamphlet: Likewise. * algebra/gaussfac.spad.pamphlet: Likewise. * algebra/funcpkgs.spad.pamphlet: Likewise. * algebra/fspace.spad.pamphlet: Likewise. * algebra/free.spad.pamphlet: Likewise. * algebra/fr.spad.pamphlet: Likewise. * algebra/fortran.spad.pamphlet: Likewise. * algebra/formula.spad.pamphlet: Likewise. * algebra/gpol.spad.pamphlet: Likewise. * algebra/gpgcd.spad.pamphlet: Likewise. * algebra/ghensel.spad.pamphlet: Likewise. * algebra/geneez.spad.pamphlet: Likewise. * algebra/gdpoly.spad.pamphlet: Likewise. * algebra/gdirprod.spad.pamphlet: Likewise. * algebra/gbintern.spad.pamphlet: Likewise. * algebra/gbeuclid.spad.pamphlet: Likewise. * algebra/gb.spad.pamphlet: Likewise. * algebra/intef.spad.pamphlet: Likewise. * algebra/intclos.spad.pamphlet: Likewise. * algebra/intaux.spad.pamphlet: Likewise. * algebra/intalg.spad.pamphlet: Likewise. * algebra/intaf.spad.pamphlet: Likewise. * algebra/indexedp.spad.pamphlet: Likewise. * algebra/idecomp.spad.pamphlet: Likewise. * algebra/ideal.spad.pamphlet: Likewise. * algebra/groebsol.spad.pamphlet: Likewise. * algebra/groebf.spad.pamphlet: Likewise. * algebra/kl.spad.pamphlet: Likewise. * algebra/irexpand.spad.pamphlet: Likewise. * algebra/intrf.spad.pamphlet: Likewise. * algebra/integer.spad.pamphlet: Likewise. * algebra/intpm.spad.pamphlet: Likewise. * algebra/intfact.spad.pamphlet: Likewise. * algebra/manip.spad.pamphlet: Likewise. * algebra/lodop.spad.pamphlet: Likewise. * algebra/lodof.spad.pamphlet: Likewise. * algebra/lodo.spad.pamphlet: Likewise. * algebra/lmdict.spad.pamphlet: Likewise. * algebra/listgcd.spad.pamphlet: Likewise. * algebra/list.spad.pamphlet: Likewise. * algebra/lingrob.spad.pamphlet: Likewise. * algebra/limitps.spad.pamphlet: Likewise. * algebra/laurent.spad.pamphlet: Likewise. * algebra/laplace.spad.pamphlet: Likewise. * algebra/modmon.spad.pamphlet: Likewise. * algebra/modgcd.spad.pamphlet: Likewise. * algebra/moddfact.spad.pamphlet: Likewise. * algebra/mlift.spad.pamphlet: Likewise. * algebra/mlift.spad.jhd.pamphlet: Likewise. * algebra/mfinfact.spad.pamphlet: Likewise. * algebra/matrix.spad.pamphlet: Likewise. * algebra/mathml.spad.pamphlet: Likewise. * algebra/matfuns.spad.pamphlet: Likewise. * algebra/matcat.spad.pamphlet: Likewise. * algebra/nlode.spad.pamphlet: Likewise. * algebra/nlinsol.spad.pamphlet: Likewise. * algebra/newpoint.spad.pamphlet: Likewise. * algebra/naalgc.spad.pamphlet: Likewise. * algebra/naalg.spad.pamphlet: Likewise. * algebra/multsqfr.spad.pamphlet: Likewise. * algebra/multpoly.spad.pamphlet: Likewise. * algebra/multfact.spad.pamphlet: Likewise. * algebra/mts.spad.pamphlet: Likewise. * algebra/mset.spad.pamphlet: Likewise. * algebra/mring.spad.pamphlet: Likewise. * algebra/modring.spad.pamphlet: Likewise. * algebra/modmonom.spad.pamphlet: Likewise. * algebra/openmath.spad.pamphlet: Likewise. * algebra/op.spad.pamphlet: Likewise. * algebra/oderf.spad.pamphlet: Likewise. * algebra/odeef.spad.pamphlet: Likewise. * algebra/odealg.spad.pamphlet: Likewise. * algebra/numtheor.spad.pamphlet: Likewise. * algebra/numsolve.spad.pamphlet: Likewise. * algebra/numeigen.spad.pamphlet: Likewise. * algebra/npcoef.spad.pamphlet: Likewise. * algebra/pfr.spad.pamphlet: Likewise. * algebra/permgrps.spad.pamphlet: Likewise. * algebra/perman.spad.pamphlet: Likewise. * algebra/perm.spad.pamphlet: Likewise. * algebra/pdecomp.spad.pamphlet: Likewise. * algebra/pattern.spad.pamphlet: Likewise. * algebra/patmatch1.spad.pamphlet: Likewise. * algebra/padic.spad.pamphlet: Likewise. * algebra/pade.spad.pamphlet: Likewise. * algebra/outform.spad.pamphlet: Likewise. * algebra/ore.spad.pamphlet: Likewise. * algebra/primelt.spad.pamphlet: Likewise. * algebra/polycat.spad.pamphlet: Likewise. * algebra/poly.spad.pamphlet: Likewise. * algebra/poltopol.spad.pamphlet: Likewise. * algebra/plot3d.spad.pamphlet: Likewise. * algebra/plot.spad.pamphlet: Likewise. * algebra/pleqn.spad.pamphlet: Likewise. * algebra/pinterp.spad.pamphlet: Likewise. * algebra/pgcd.spad.pamphlet: Likewise. * algebra/realzero.spad.pamphlet: Likewise. * algebra/rderf.spad.pamphlet: Likewise. * algebra/rdeef.spad.pamphlet: Likewise. * algebra/radix.spad.pamphlet: Likewise. * algebra/qalgset.spad.pamphlet: Likewise. * algebra/puiseux.spad.pamphlet: Likewise. * algebra/pseudolin.spad.pamphlet: Likewise. * algebra/pscat.spad.pamphlet: Likewise. * algebra/prtition.spad.pamphlet: Likewise. * algebra/smith.spad.pamphlet: Likewise. * algebra/sign.spad.pamphlet: Likewise. * algebra/sgcf.spad.pamphlet: Likewise. * algebra/setorder.spad.pamphlet: Likewise. * algebra/rule.spad.pamphlet: Likewise. * algebra/rinterp.spad.pamphlet: Likewise. * algebra/rf.spad.pamphlet: Likewise. * algebra/riccati.spad.pamphlet: Likewise. * algebra/rep2.spad.pamphlet: Likewise. * algebra/rep1.spad.pamphlet: Likewise. * algebra/reclos.spad.pamphlet: Likewise. * algebra/syssolp.spad.pamphlet: Likewise. * algebra/symbol.spad.pamphlet: Likewise. * algebra/sum.spad.pamphlet: Likewise. * algebra/sttaylor.spad.pamphlet: Likewise. * algebra/string.spad.pamphlet: Likewise. * algebra/stream.spad.pamphlet: Likewise. * algebra/special.spad.pamphlet: Likewise. * algebra/space.spad.pamphlet: Likewise. * algebra/solverad.spad.pamphlet: Likewise. * algebra/solvelin.spad.pamphlet: Likewise. * algebra/view3D.spad.pamphlet: Likewise. * algebra/view2D.spad.pamphlet: Likewise. * algebra/vector.spad.pamphlet: Likewise. * algebra/unifact.spad.pamphlet: Likewise. * algebra/twofact.spad.pamphlet: Likewise. * algebra/tree.spad.pamphlet: Likewise. * algebra/transsolve.spad.pamphlet: Likewise. * algebra/tex.spad.pamphlet: Likewise. * algebra/taylor.spad.pamphlet: Likewise. * algebra/xpoly.spad.pamphlet: Likewise. * algebra/xlpoly.spad.pamphlet: Likewise. * algebra/wtpol.spad.pamphlet: Likewise. 2008-04-01 Gabriel Dos Reis * boot/tokens.boot (second): Now candidate for renaming in generated Lisp code. (third): Likewise. 2008-04-01 Gabriel Dos Reis * input/mapleok.input.pamphlet: Fix typo. 2008-04-01 Gabriel Dos Reis Fix AW/386. * interp/i-spec1.boot (transformCollect): Move to i-intern.boot. (upLoopIters): Don't silently return nil for unknown iterators. * interp/i-intern.boot (transformCollect): Tidy. Reject invalid iterator forms. * doc/msgs/s2-us.msgs (S2SIS0061): New. 2008-04-01 Gabriel Dos Reis * include/nagman.H1: Remove. * include/session.H1: Move content to sman/session.c. Remove. * sman/session.c: Don't include "session.H1" anymore. * sman/spadclient.c: Don't include "spadclient.H1" anymore. * include/spadclient.H1: Remove. * include/spadbuf.H1: Move content to hyper/spadbuf.c. Remove. * hyper/spadbuf.c: Don't include "spadbuf.H1" anymore. * hyper/htadd.c: Don't include "htadd.H1" anymore. * include/htadd.H1: Move content to hyper/htadd.c. Remove. 2008-04-01 Gabriel Dos Reis * lib/openpty.c: Remove conditional inclusion of * hyper/spadbuf.c: Remove conditional inclusion of * sman/session.c: Likewise. * hyper/halloc.c: Remove conditional inclusion of 2008-03-31 Gabriel Dos Reis * interp/sys-utility.boot (loadModule): New. * interp/daase.lisp (initial-getdatabase): Use it instead of Lisp's LOAD. * interp/lisplib.boot (loadLib): Likewise. (loadLibNoUpdate): Likewise. 2008-03-30 Gabriel Dos Reis * interp/i-intern.boot (mkAtree3): Don't apply syntactic transformation on `~=' expressions. 2008-03-30 Gabriel Dos Reis * interp/buildom.boot: Cache constructor instantiations. * interp/clam.boot (haddProp): Update comment. 2008-03-29 Gabriel Dos Reis Fix SF/1849435. * interp/buildom.boot: Rewrite builtin domains to work with old runtime scheme. * interp/nruncomp.boot (NRTencode): Tidy. * interp/nrungo.boot (basicLookup): lookupInTable is part of the old runtime scheme too. (lookupInDomain): Tidy. (lookupInCategories): Simplify. 2008-03-28 Gabriel Dos Reis * interp/comp.lisp: Fix thinko. 2008-03-27 Gabriel Dos Reis * interp/int-top.boot (intloopReadConsole): Use $InputStream. * interp/bootlex.lisp (init-boot/spad-reader): Use $OutputStream. * interp/comp.lisp (|compQuietly|): Likewise. (|compileFileQuietly|): Likewise. (|compileQuietly|): Likewise. * interp/unlisp.lisp (|Prompt|): Likewise. * interp/server.boot (serverReadLine): Indent while body. 2008-03-27 Gabriel Dos Reis * lib/Makefile.in: Fix DLL build on Cygwin. * lisp/Makefile.in: Adjust. 2008-03-26 Gregory Vanuxem Alfredo Portes * src/graph/view2D/Makefile.in: Add $(EXEEXT) to view2D. 2008-03-26 Waldek Hebisch Alfredo Portes * src/sman/sman.c.pamphlet: sman_catch_signals(): Use SIGABRT (instead of SIGIOT) if available. 2008-03-26 Gabriel Dos Reis * lib/Makefile.in: Explicitly build both static and shared version of libopen-axiom-core. * lisp/Makefile.in: Tidy. * lisp/core.lisp.in: Export $NativeModuleExt. * clef/Makefile.in: Use only static archive. * graph/view2D/Makefile.in: Likewise. * graph/view3D/Makefile.in: Likewise. * graph/viewAlone/Makefile.in: Likewise. * graph/viewman/Makefile.in: Likewise. * hyper/Makefile.in: Likewise. * sman/Makefile.in: Likewise. * boot/Makefile.in: Place bootsys binary in staged starget directory. * boot/translator.boot (loadSystemRuntimeCore): Tidy. * interp/Makefile.pamphlet: Use bootsys from staged target dir. 2008-03-25 Gabriel Dos Reis * interp/bootlex.lisp: Import "sys-globals". Consistently use $InputStream and $OutputStream for I/O. * interp/c-util.boot: Likewise. * interp/comp.lisp: Likewise. * interp/compat.boot: Likewise. * interp/debug.lisp: Likewise. * interp/def.lisp: Likewise. * interp/g-error.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/int-top.boot: Likewise. * interp/intfile.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/macros.lisp: Likewise. * interp/metalex.lisp: Likewise. * interp/msgdb.boot: Likewise. * interp/patches.lisp: Likewise. * interp/preparse.lisp: Likewise. * interp/server.boot: Likewise. * interp/spad-parser.boot: Likewise. * interp/spad.lisp: Likewise. * interp/sys-globals.boot: Likewise. * interp/sys-macros.lisp: Likewise. * interp/sys-os.boot: Likewise. * interp/unlisp.lisp: Likewise. * interp/vmlisp.lisp: Likewise. * interp/Makefile.pamphlet (bootlex.$(FASLEXT)): Require sys-globals.$(FASLEXT) too. (vmlisp.$(FASLEXT)): Likewise. 2008-03-24 Gabriel Dos Reis * interp/vmlisp.lisp (DEFINE-FUNCTION): Move boot-pkg.lisp. (BPINAME): Tidy. * interp/slam.boot (reportFunctionCompilation): Tidy. * interp/daase.lisp: Don't use anachronistic SET. * interp/debug.lisp: Likewise. * interp/br-saturn.boot: Substitute GENSYM for GENTEMP. * interp/fortcall.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/server.boot: Likewise. * interp/buildom.boot (UnionEqual): Tidy. (coerceUn2E): Likewise. * interp/boot-pkg.lisp (define-function): Define here. * interp/Makefile.pamphlet (diagnostics.$(FASLEXT)): Tidy. (hash.$(FASLEXT)): Likewise. (vmlisp.$(FASLEXT)): Likewise. * interp/diagnostics.boot: Import "types". * interp/hash.lisp: Import "types" instead of "vmlisp". * interp/i-output.boot ($algebraOutput): Move to sys-globals.boot. (ERROROUTSTREAM): Likewise. (ERRORINSTREAM): Likewise. * interp/macros.lisp ($algebraOutputStream): Don't set here. * interp/patches.lisp ($algebraOutputStream): Don't set here. ($texOutputStream): Likewise. ($fortranOutputStream): Likewise. ($texOutputStream): Likewise. ($formulaOutputStream): Likewise. 2008-03-24 Gabriel Dos Reis Add support for SBCL and CLisp. * src/share/algebra: Updata databases. * lisp/core.lisp.in ("AxiomCore"): Export CONCAT. (|Option|): Tidy. (CONCAT): Define here. * lib/cfuns-c.c (oa_system): Define. * interp/types.boot: New. * interp/wi1.boot (doItLet1): Tidy. * interp/vmlisp.lisp: Use *STANDARD-OUTPUT* and *STANDARD-INPUT* instead of *TERMINAL-IO*. (CONCAT): Don't define here. (QESET): Don't convert last argument to a character; it is already a character. (GCMSG): Define for CLisp too. (BPINAME): Likewise. * interp/util.lisp (interp-make-directory): Fix thinko. * interp/unlisp.lisp (LOG10): Don't define here. * interp/trace.boot: Substitute setDynamicBinding for SET. * interp/template.boot: Substitute setDynamicBinding for SET. Substitute newShell for newDomainShell. * interp/sys-utility.boot: Move type definitions to types.boot. (macrop): Tidy. (functionp): Likewise. (setDynamicBinding): New. ($ERASE): Add signature. (loadNativeModule): Don't define here. * interp/sys-os.boot: Tidy definitions. (runCommand): New. * interp/sys-macros.lisp (shoeConcole): Output to *STANDARD-OUTPUT*. * interp/sys-globals.boot ($texOutputStream): Make synonym to *STANDARD-OUTPUT*. * interp/sys-driver.boot: Import "types" instead of "boot-pkg". ($OpenAxiomCoreModuleLoaded): Don't define here. (AxiomCore::%sysInit): Tidy. (systemRootDirectory): Don't define here. (stdStreamIsTerminal): Move to sys-os.boot. * interp/sys-constants.boot ($CategoryNames): Don't include StringCategory. ($DomainNames): Don't include Integer, Float, Symbol, Boolean, String, Expression, List, and Vector. ($BuiltinConstructorNames): New. ($SpecialDomainNames): Don't include List, Union, Record, Vector. ($ConstructorNames): Remove. ($IndexFilename): Rename from *INDEX-FILENAME*. * interp/setvars.boot: Substitute setDynamicBinding for SET. * interp/slam.boot: Likewise. * interp/pspad2.boot (formatDeftranRepper): Tidy. * interp/preparse.lisp (/RP): Use *STANDARD-INPUT* and *STANDARD-OUTPUT* instead of *TERMINAL-IO*. * interp/pathname.boot: Make functions cope with nil paths. * interp/patches.lisp (|$algebraOutputStream|): Set value to *STANDARD-OUTPUT*. * interp/package.boot (processPackage): Substitute newShell for newDomainShell. * interp/obey.lisp (|algebraOutputStream|): Don't set here. (OBEY): Define for CLisp too. * interp/nruncomp.boot: Substitute newShell for newDomainShell. * interp/nrunopt.boot: Likewise. * interp/nlib.lisp (rdefiostream): Tidy. (GETINDEXTABLE): Remove. (GET-INPUT-INDEX-STREAM): Likewise. (GET-IO-INDEX-STREAM): Tidy. (PUTINDEXTABLE): Likewise. * interp/macros.lisp: Use *standard-output* and *standard-input* instead of *terminal-io* throughout. * interp/lisplib.boot (makeConstructorsAutoLoad): Fix thinko. (setAutoLoadProperty): Likewise. (autoLoad): Builtin constructors are always loaded. (getIndexPathname): New. (getAllIndexPathnames): Likewise. (getAllAldorObjectFiles): Likewise. (openIndexFileIfPresent): Likewise. (getIndexTable): Likewise. * interp/i-syscmd.boot (library): Tidy. * interp/i-spec1.boot (compileADEFBody): Substitute setDynamicBinding for SET. * interp/i-object.boot (getBasicObject): Substitute newShell for newDomainShell. * interp/i-map.boot (compileCoerceMap): Substitute setDynamicBinding for SET. * interp/hypertex.boot: Import "types" instead of "boot-pkg". * interp/ht-root.boot: Substitute setDynamicBinding for SET. * interp/ht-util.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/g-util.boot (newShell): Rename from newDomainShell. * interp/functor.boot: Substitute newShell for newDomainShell. * interp/dq.boot: Import "types" instead of "boot-pkg". * interp/define.boot (compDefine1): Replace $ConstructorNames with $BuiltinConstructorNames. * interp/database.boot (squeezeAll): New. * interp/daase.lisp (asharp): Fix thinko. (get-current-directory): Define for CLisp too. (localdatabase): Tidy. (make-databases): Loose first argument. Don't step over Category's database. Tidy. (write-interpdb): Tidy. (write-browsedb): Likewise. (write-operationdb): Likewise. * interp/compiler.boot (coerceHard): Treat "$" and $functorForm as synonymous in implicit conversions. * interp/clam.boot: Substitute setDynamicBinding for SET throughout. * interp/category.boot (mkCategory): Replace newDomainShell with newShell. * interp/buildom.boot: Use nwShell instead of newDomainShell throughout. (coerceUn2E): Tidy. (constructorCategory): Don't call SetCategory directly. * interp/br-saturn.boot (htpMakeEmptyPage): Use setDynamicBinding instead of SET. * interp/bootlex.lisp (BOOT): Use *STANDARD-OUTPUT* instead of *TERMINAL-IO*. * interp/boot-pkg.lisp: Import systemRootDirectory, systemLibraryDirectory, loadNativeModule, loadSystemRuntimeCore from BOOTTRAN. (COT): Define unconditionally. (ACOT): Likewise. (MAXEXP): Likewise. * interp/bc-misc.boot (bcSeriesByFormulaGen): Fix thinko. * interp/Makefile.pamphlet (LOADSYS): Remove. (BOOTSYS): Add --syslib option. Update use through the file. (OBJS): Add types.$(FASLEXT). (makeint.lisp): Don't depend on $(LOADSYS). (${SAVESYS}): Use $(BOOTSYS). ($AXIOMSYS): Likewise. ($(axiom_targetdir)/algebra/exposed.$(FASLEXT)): Likewise. * input/Makefile.pamphlet (%.output): Use coreQuit, not BYE. * include/cfuns.h (oa_system): Declare. * etc/Makefile.in ($(axiom_targetdir)/algebra/*.daase): Fix thinko. Update call to MAKE-DATABASES. * boot/translator.boot (genImportDeclaration): Support CLisp's FFI. (bpOutItem): Tidy. (systemRootDirectory): Define here. (systemLibraryDirectory): Likewise. (loadNativeModule): Likewise. ($OpenAxiomCoreModuleLoaded): Likewise. (loadSystemRuntimeCore): Likewise. * boot/initial-env.lisp: Export systemRootDirectory, systemLibraryDirectory, loadNativeModule, loadSystemRuntimeCore. (concat): Move definition to lisp/core.lisp.in. * boot/ast.boot (bfColonColon): Special case CLisp's locked packages. * algebra/symbol.spad.pamphlet: Update cached Lisp translation. * algebra/string.spad.pamphlet: Update cached Lisp translations. (Character): Simplify definition. Now, use base Lisp system character type as representation. (ord$Character): Now return a NonNegativeInteger. (char$Character): Now take a NonNegativeInteger. (Rep$Character): Remove. (IndexedSring): Remove unused macros. (Qelt): Define as CHAR$Lisp. * algebra/outform.spad.pamphlet (OUTFORM): Update cached Lisp translation. * algebra/Makefile.pamphlet: Rearrange algebra build order. 2008-03-20 Gabriel Dos Reis * interp/nlib.lisp (get-input-index-stream): Remove. (getindextable): Likewise. 2008-03-19 Gabriel Dos Reis * interp/vmlisp.lisp (GETREFV): Set initial elements to NIL. (MAKE-OUTSTREAM): Supersede existing files. * interp/template.boot (makeTemplate): Use newDomainShell instead of GETREFV. (extendVectorSize): Likewise. (mkSigPredVectors): Likewise. (list2LongerVec): Likewise. (measure): Remove. (measureCommon): Likewise. * interp/sys-utility.boot (loadNativeModule): New. * interp/sys-os.boot: Import "cfuns" and "sockio". (runProgram): New. * interp/sys-globals.boot (/SOURCEFILES): Define here. (/SPACELIST): Likewise. * interp/sys-driver.boot ($OpenAxiomCoreModuleLoaded): New global variable. (AxiomCore::%sysInit): Load libopen-axiom-core if necessary. ($defaultMsgDatabaseName): Define here. * interp/spad.lisp (|New,ENTRY,1|): Tidy. * interp/sockio.lisp: Move import declarations to sys-os.boot. Remove unused codes. * interp/server.boot (serverReadLine): Use coreQuit instead of BYE. * interp/pspad1.boot (formatMDEF): Tidy. * interp/pspad2.boot (formatIf1): Tidy. * interp/patches.lisp: Import "sys-driver". Remove $CURRENT-DIRECTORY. * interp/nruncomp.boot (buildFunctor): Use newDomainShell instead of GETREFV. * interp/nrunopt.boot (makeDomainTemplate): Likewise. * interp/package.boot (processFunctorOrPackage): Likewise. * interp/nlib.lisp (rdefiostream): Tidy. * interp/monitor.lisp (monitor-autoload): Define when GCL. * interp/interop.boot (oldAxiomCategoryDevaluate): Tidy. * interp/i-toplev.boot (start): Don't set $CURRENT-DIRECTORY. * interp/i-syscmd.boot (close): Use newDomainShell. (leaveScratchpad): Use coreQuit instead of BYE. (compileAsharpArchiveCmd): Use GET-CURRENT-DIRECTORY. * interp/g-util.boot (newDomainShell): Define. * interp/functor.boot (NewbFVectorCopy): Use newDomainShell. * interp/daase.lisp (asharp): Use runProgram. * interp/cfuns.lisp: Remove unused codes. (directoryp): Move import declaration to sys-os.bot. (writeablep): Likewise. * interp/buildom.boot (Record0): Use newDomainShell instead of GETREFV. (coerceRe2E): Likewise. (Union): Likewise. (Mapping): Likewise. (Enumeration): Likewise. * interp/category.boot (mkCategory): Likewise. * interp/Makefile.pamphlet (patches.$(FASLEXT)): Require sys-driver.$(FASLEXT). (sys-os.$(FASLEXT)): Require cfuns.$(FASLEXT), sockio.$(FASLEXT). * algebra/view2D.spad.pamphlet: Use $ViewportServer instead of VIEWPORTSERVER. Use sockSendInt instead of SOCK-SEND-INT. Use sockSendFloat instead of SEND-SEND-FLOAT. Use sockSendString instead of SOCK-SEND-STRING. Use sockGetInt instead of SOCK-GET-INT. Use sockGetFloat instead of SOCK-SEND-FLOAT. * algebra/view3D.spad.pamphlet: Likewise. * interp/util.lisp (fe): Remove. (fc): Likewise. (interp-make-directory): Simplify. (OLD-BOOT::BOOT): Don't declare *PRINT-PRETTY* and *PRINT-LENGTH* special. 2008-03-18 Gabriel Dos Reis * interp/trace.boot (untraceDomainLocalOps): Tidy. * interp/spaderror.lisp (|$quitTag|): Define as constant. (|$numericFailure|): Likewise. * interp/spad.lisp: Import "postpar" and "debug". ($): Remove toplevel assignment. (|traceComp|): Tidy. (/FLAG): Remove. (*PROMPT*): Remove. (|New,ENTRY,1|): Don't declare it. Tidy. (|New,ENTRY,2|): Fix typo. * interp/sfsfun-l.lisp (rbesselj): Remove extraneous right parenthesis. (rbesseli): Likewise. * interp/patches.lisp: Import "sockio" instead of "debug" (|$useInternalHistoryTable|): Don't define here. (user::start): Remove. (/RF-1): Declare ECHO-META special. (READSPADEXPR): Declare IN-STREAM special. (|$ViewportProcessToWatch|): Declare. (echo-meta): Don't set here. * interp/packtran.boot (rePackageTran): Tidy. * interp/nspadaux.lisp (|$underscoreChar|): Define. (|$markChoices|): Likewise. (|$convert2NewCompiler|): Likewise. (|$AnalyzeOnly|): Likewise. (|$categoryPart|): Likewise. (|$insideCAPSULE|): Likewise. (|$insideEXPORTS|): Likewise. (|$originalSignature|): Likewise. (|$insideDEF|): Likewise. (|$insideTypeExpression|): Likewise. (|$spadTightList|): Likewise. (|$PerCentVariableList|): Likewise. * interp/nrunopt.boot (augmentPredCode): Fix typo. * interp/nlib.lisp (*LISP-BIN-FILETYPE*): Remove. (recompile-lib-file-if-necessary): Use $faslType. Unconditionally define. * interp/lisplib.boot (compDefineLisplib): Tidy. * interp/interop.boot (SExprToDName): Tidy. (oldAxiomPreCategoryDevaluate): Likewise. (hashNewLookupInCategories): Likewise. * interp/g-util.boot (get): Adjust return type. (get0): Likewise. (get1): Likewise. (get2): Likewise. * interp/foam_l.lisp: Tidy. * interp/define.boot (maybeInsertViewMorphisms): Fix typo. * interp/debug.lisp (/breakcondition): Declare. * interp/sys-utility.boot (getSystemModulePath): New. * interp/daase.lisp (|with|): Remove (|library|): Move i-syscmd.boot (initial-getdatabase): Use getSystemModulePath. (getdatabase): Likewise. (addoperations): Don't reference package LISP. (localdatabase): Likewise. (write-interpdb): Don't declare *print-prett* special. (write-browsedb): Likewise. (write-categorydb): Likewise. 2008-03-18 Gabriel Dos Reis * interp/sys-utility.boot: Define more type abbreviations. * interp/apply.boot: Adjust signature declarations. * interp/compiler.boot: Likewise. 2008-03-17 Gabriel Dos Reis * interp/sys-driver.boot (restart): Rename from RESTART. (SET-RESTART-HOOK): Use restart. * interp/Makefile.pamphlet (${SAVESYS}): Refer restart, not RESTART. (${AXIOMSYS}): Likewise. 2008-03-17 Gabriel Dos Reis * lib/cfuns-c.c (oa_chdir): Add missing `return'. 2008-03-17 Gabriel Dos Reis * lib/cfuns-c.c (oa_chdir): Define. (is_dot_or_dotdot): New. (oa_unlink): Define. (oa_rename): Likewise. (oa_mkdir): Likewise. * interp/sys-os.boot: New file. * interp/util.lisp (MAKE-TAGS-FILE): Use changeDirectory. (MAKELIB): Likewise. (MAKESPAD): Likewise. (LIBCHECK): Likewise. * interp/sys-utility.boot ($ERASE): Define here. Use removeFile. ($REPLACE): Likewise. (checkMkdir): Define. * interp/obey.lisp (MAKEDIR): Remove definition. * interp/nlib.lisp (RDEFIOSTREAM): Use checkMkdir. (MAKEDIR): Remove. (RPACKFILE): Use removeFile. ($ERASE): Remove Lisp definition. ($REPLACE): Likewise. * interp/i-syscmd.boot (cd): Use changeDirectory. (compileAsharpArchiveCmd): Use mkdir. (histFileErase): Likewise. * interp/fortcall.boot (fortCall): Use removeFile. (invokeNagman): Likewise. * interp/daase.lisp (|library|): Use changeDirectory. (LOCALDATABASE): Likewise. (DaaseName): Use removeFile. * interp/construc.lisp (mergelibs): Use removeFile. (mergeall): Use changeDirectory. * interp/c-doc.boot (docreport): Use removeFile. * interp/br-search.boot (getTempPath): Likewise. * interp/br-saturn.boot (dbSort): Likewise. * interp/br-data.boot (buildLibdb): Likewise (dbSplitLibdb): Likewise. (buildGloss): Likewise. (purgeLocalLibdb): Likewise. * interp/as.boot (asList): Likewise. * interp/Makefile.pamphlet (OBJS): Include sys-os.$(FASLEXT). (sys-os.$(FASLEXT)): New rule. (sys-utility.$(FASLEXT)): Require sys-os.$(FASLEXT). * include/cfuns.h (oa_chdir): Declare. (oa_unlink): Likewise. (oa_rename): Likewise. (oad_mkdir): Likewise. 2008-03-16 Alfredo Portes Arthur Ralfs * algebra/mathml.spad.pamphlet: Add Arthur Ralfs's MathML package. * algebra/Makefile.in: Add MathML to the build process. * algebra/Makefile.pamphlet: Likewise. * algebra/exposed.lsp.pamphlet: Likewise. * interp/setvart.boot: Create an output MathML section in patterned after the tex section. * interp/setvars.boot: Likewise. * interp/i-output.boot: Add the coerce and display functions from MathMLFormat actually gets called. 2008-03-16 Gabriel Dos Reis * boot/translator.boot: Switch to new native type translation. * interp/sys-driver.boot (stdStreamIsTerminal): Simplify. 2008-03-16 Gabriel Dos Reis * lisp/Makefile.in (void_type): New. (char_type): Likewise. (int_type): Likewise. (float_type): Likewise. (double_type): Likewise. (string_type): Likewise. (pointer_type): Likewise. (edit): Use them. * interp/wi1.boot (ppFull): Tidy. Don't set *PRINT-DEPTH*. * interp/vmlisp.lisp (gcmsg): Define when SBCL. * interp/template.boot (measureCommon): Fix thinko. * interp/sys-utility.boot: Move basic type definition from g-util.boot to here. * interp/g-util.boot (augProplistOf): Fix signature declaration. * interp/daase.lisp: Tidy. * interp/c-util.boot (displayComp): Remove assignment to $X,$M,$F. * interp/boot-pkg.lisp: Tidy. * interp/axext_l.lisp: Likewise. * interp/Makefile.pamphlet (makeint.lisp): Call GBC only when GCL. ($(axiom_targetdir)/algebra/exposed.$(FASLEXT)): Tidy. (patches.$(FASLEXT)): Require debug.$(FASLEXT), g-timer.$(FASLEXT). (wi2.$(FASLEXT)): Require define.$(FASLEXT). (spad.$(FASLEXT)): Require postpar.$(FASLEXT), debug.$(FASLEXT). * boot/translator.boot (genImportDeclaration): Include translation for SBCL. * boot/parser.boot (bpMapping): Tidy. * boot/ast.boot (coreSymbol): New. (bootSymbol): Likewise. (bootSymbol): Likewise. * lisp/core.lisp.in (|$NativeTypeTable|): New. Export. * algebra/Makefile.pamphlet (COMPILE_LISP): Use $(INTERPSYS). * algebra/exposed.lsp.pamphlet: Tidy. 2008-03-16 Gabriel Dos Reis * lib/Makefile.in ($(axiom_target_libdir)/libopen-axiom-core.$(DLLEXT)): Tidy. ($(axiom_target_libdir)/libspad.la): Likewise. 2008-03-15 Gabriel Dos Reis * include/cfuns.h (findString): Rename from include/cfuns-c.H1. Make DLL-aware. * include/open-axiom.h: New. * include/sockio.h: Make DLL-aware. * include/bsdsignal.H1: Fold content into include/bsdsignal.h. Remove. * lib/bsdsignal.c: Don't include bsdsignal.H1 * lib/fnct_key.c: Likewise. * lib/sockio-c.c: Likewise. * lib/Makefile.in (other_SOURCES): Remove. (other_objects): Likewise. (pamphlets): Likewise. (clean-local): Don't remove source files. (libopen_axiom_core_la_SOURCES): New. (libopen_axiom_core_la_objects): Likewise. (stamp): Require $(axiom_target_libdir)/libopen-axiom-core.la too. * graph/view2D/main2d.c: Likewise. * clef/edible.c: Likewise. * graph/view3D/main3d.c: Likewise. * graph/view3D/testcol.c: Likewise. * graph/viewman/sselect.c: Likewise. * graph/viewman/viewman.c: Likewise. * hyper/htinp.c: Likewise. * hyper/hyper.c: Likewise. * hyper/spadbuf.c: Likewise. * hyper/spadint.c: Likewise. * sman/session.c: Likewise. * sman/sman.c: Likewise. * sman/spadclient.c: Likewise. 2008-03-15 Gabriel Dos Reis * algebra/polset.spad.pamphlet (exactQuo$PSETCAT-): Don't conditionally define as local function. Update cached Lisp translation. 2008-03-13 Gabriel Dos Reis * algebra/catdef.spad.pamphlet: Update cached Lisp translation. * algebra/sf.spad.pamphlet: Likewise. * algebra/si.spad.pamphlet: Likewise. * algebra/fspace.spad.pamphlet: Likewise. * algebra/ffcat.spad.pamphlet: Likewise. * algebra/polset.spad.pamphlet: Likewise. * algebra/fraction.spad.pamphlet: Likewise. * algebra/triset.spad.pamphlet: Likewise. * algebra/polycat.spad.pamphlet: Likewise. * algebra/pscat.spad.pamphlet: Likewise. 2008-03-10 Gabriel Dos Reis * doc/msgs/s2-us.msgs: Say Spad, not old compiler. 2008-03-10 Gabriel Dos Reis * interp/nocompil.lisp: Remove. * interp/Makefile.pamphlet: Adjust. 2008-03-10 Gabriel Dos Reis * algebra/Makefile.pamphlet (strap/%.$(FASLEXT)): Don't copy bootstrapping objects to final algebra directory. (%.NRLIB/code.$(FASLEXT)): Specify bootstrapping objects location as option. 2008-03-10 Gabriel Dos Reis * lisp/core.lisp.in ("$faslType"): Export. * interp/sys-driver.boot (algebraBootstrapDir): New. * interp/lisplib.boot (findModule): New. (loadLib): Use it. * interp/daase.lisp (localdatabase): Make sure loadable modules have proper extensions. * interp/sys-utility.boot (existingFile?): New. 2008-03-09 Gabriel Dos Reis * interp/parse.boot (parseDollarGreaterThan): Remove. (parseDollarGreaterEqual): Likewise. (parseDollarLessEqual): Likewise. (parseDolloarNotEqual): Likewise. 2008-03-08 Gabriel Dos Reis * graph/: Depamphletize. * include/addfile.h: Move from hyper. * include/addfile.H1: Move external declarations into addfile.h. Remove. 2008-03-08 Gabriel Dos Reis * include/sockio.h: Rename from sockio-c.H1. * clef/edible.c: Don't include useproto.h. Include sockio.h * graph/view3D/surface3d.c.pamphlet: Likewise. * graph/viewman/fun2D.c.pamphlet: Likewise. * graph/viewman/fun3D.c.pamphlet: Likewise. * graph/viewman/make2D.c.pamphlet: Likewise. * graph/viewman/make3D.c.pamphlet: Likewise. * graph/viewman/makeGraph.c.pamphlet: Likewise. * graph/viewman/sselect.c.pamphlet: Likewise. * graph/viewman/viewman.c.pamphlet: Likewise. * graph/viewman/viewman.h: Likewise. * hyper/ReadBitmap.c: Likewise. * hyper/addfile.c: Likewise. * hyper/cond.c: Likewise. * hyper/debug.c: Likewise. * hyper/dialog.c: Likewise. * hyper/display.c: Likewise. * hyper/event.c: Likewise. * hyper/ex2ht.c: Likewise. * hyper/extent1.c: Likewise. * hyper/extent2.c: Likewise. * hyper/form-ext.c: Likewise. * hyper/group.c: Likewise. * hyper/halloc.c: Likewise. * hyper/hash.c: Likewise. * hyper/htadd.c: Likewise. * hyper/hterror.c: Likewise. * hyper/htinp.c: Likewise. * hyper/hyper.c: Likewise. * hyper/initx.c: Likewise. * hyper/input.c: Likewise. * hyper/item.c: Likewise. * hyper/keyin.c: Likewise. * hyper/lex.c: Likewise. * hyper/macro.c: Likewise. * hyper/mem.c: Likewise. * hyper/parse-aux.c: Likewise. * hyper/parse-input.c: Likewise. * hyper/parse-paste.c: Likewise. * hyper/parse-types.c: Likewise. * hyper/parse.c: Likewise. * hyper/scrollbar.c: Likewise. * hyper/show-types.c: Likewise. * hyper/spadbuf.c: Likewise. * hyper/spadint.c: Likewise. * hyper/titlebar.c: Likewise. * lib/sockio-c.c: Likewise. * sman/session.c: Likewise. * sman/sman.c: Likewise. * include/useproto.h: Remove. 2008-03-07 Gabriel Dos Reis * hyper/: De-pamphletize. 2008-03-05 Gabriel Dos Reis * interp/compiler.boot (compColon): Literal flag types are valid types. 2008-03-04 Gabriel Dos Reis * algebra/Makefile.pamphlet (axiom_algebra_layer_strap): Derive value from $(axiom_algebra_bootstrap). (axiom_algebra_layer_0): Include more categories. (axiom_algebra_layer_1): Likewise. (axiom_algebra_layer_2): Likewise. (axiom_algebra_layer_3): Likewise. (axiom_algebra_layer_4): Remove some constructors. (axiom_algebra_layer_5): Likewise. 2008-03-03 Gabriel Dos Reis * interp/i-analy.boot (bottomUp): Don't record constructor instantiations representations in interactive environments. * interp/i-eval.boot (evaluateFormAsType): New. (evaluateType): Use it. (evaluateType1): Tidy. * interp/i-output.boot (output): Tidy. * interp/i-object.boot ($genValue): Define here. * interp/sys-dirver.boot ($verbose): Rename from $verboseInterpreter. * interp/i-map.boot (genMapCode): Propagate $verbose renaming. * interp/slam.boot (compileRecurrenceRelation): Likewise. 2008-02-22 Gabriel Dos Reis * interp/i-analy.boot (bottomUpFormTuple): Use "tuple" for parse form that are not type instantiations. * interp/i-coerce.boot (coerceInt1): Likewise. * interp/i-intern.boot (mkAtree3): Likewise. (collectDefTypesAndPreds): Likewise. * interp/i-map.boot (args2Tuple): Likewise. (makePattern): Likewise. (canMakeTuple): Likewise. (makeRuleForm): Likewise. (numArgs): Likewise. (combineMapParts): Likewise. (mkMapPred): Likewise. (findLocalVars1): Likewise. * interp/i-output.boot (outputTran): Likewise. * interp/i-spec1.boot ($specialOps): Likewise. (evalUntargetedADEF): Likewise. (upDeclare): Likewise. (declare): Likewise. * interp/i-spec2.boot (upDollarTuple): Likewise. (upLET): Likewise. (isTupleForm): Remove. (uptuple): Rename from upTuple. (upLETWithFormOnLhs): Use "tuple" for parse forms that are not type instantiations. * interp/i-syscmd.boot (displayMacro): Likewise. * interp/pf2atree.boot (pf2Atree1): Likewise. * interp/pf2sex.boot (pf2Sex1): Likewise. (pfApplication2Sex): Likewise. (pfCollectArgTran): Likewise. * interp/ptrees.boot (pfTuple): Likewise. (pfTuple?): Likewise. 2008-02-20 Gabriel Dos Reis * interp/i-coerce.boot (coerceInt1): Avoid misguided Tuple coercion behind the scene. * interp/Makefile.pamphlet (astr.$(FASLEXT)): Depend on vmlisp.$(FASLEXT) instead. * algebra/Makefile.pamphlet (.NOTPARALLEL): Remove rectriction. 2008-02-20 Gabriel Dos Reis * lisp/core.lisp.in [SBCL]: Require "sb-posix". (|resetErrorCount|): New export function. * interp/vmlisp.lisp (opOf): Remove macro definition. * interp/msg.boot (setMsgCatlessAttr): Fix thinko. * interp/monitor.lisp (monitor-add): Remove extra right parenthesis. * interp/lisplib.boot: Import "debug". (initializeLisplib): Don't use ERRORS variable. * interp/i-spec1.boot (isDomainValuedVariable): Tidy. * interp/i-output.boot (outputTran): Use SIZE instead of #. (output): Remove misguided conversion from Tuple to List. * interp/i-coerce.boot (coerceInteractive): Allow domain object convesions. * interp/g-util.boot (opOf): Declare. * interp/Makefile.pamphlet (lisplib.$(FASLEXT)): Depend on debug.$(FASLEXT). * algebra/Makefile.pamphlet: Use .$(FASLEXT) instead of hardcoded .o extension. 2008-02-19 Gabriel Dos Reis * interp/vmlisp.lisp (|opOf|): Remove duplicate. * lisp/core.lisp.in (|resetErrorCount|): New function. Export. 2008-02-18 Gabriel Dos Reis * algebra/variable.spad.pamphlet (AnonymousFunction): Add new functions `parameters' and `body'. * algebra/domain.spad.pamphlet: Rename from algebra/domain.spad. (Category): New category. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include CATEGORY.o. (DOMAIN.NRLIB/code.$(FASLEXT)): Remove rule. * interp/trace.boot (transTraceItem): Use $LangSupportTypes. * interp/sys-constants.boot ($None): New. ($Type): Likewise. ($LangSupportTypes): Likewise. * interp/parse.boot (parseHas): Use $LangSupportTypes. (parseHasRhs): Likewise. * interp/i-spec2.boot (upLETtype): Use conceptualType. (uptypeOf): Likewise. (upwhere): Likewise. (typeOfType): Remove. * interp/i-spec1.boot (isDomainValuedVariable): Variables with type Category and Type are domain valued too. * interp/i-output.boot (output): Special case only Mode and Type. * interp/i-funsel.boot (selectMms): Don't ignore modemaps with category parameters. * interp/i-coerce.boot (canCoerce1): Test for Category instead of SubDomain Domain. (canCoerceFrom0): Use $None and $Any. (absolutelyCannotCoerce): Use $None. (coerceInteractive): Use $LangSupportTypes. (coerceInt1): Use $Any. * interp/i-analy.boot (conceptualType): New. (bottomUpType): Use it. * interp/clammed.boot (isValidType): Use $LangSupportTypes. * interp/g-cndata.boot (isNameOfType): Likewise. * interp/category.boot (Category): Remove hacky definition. * interp/buildom.boot ($noCategoryDomains): Domain now has a Lisplib. 2008-02-15 Gabriel Dos Reis * interp/unlisp.lisp (|CatchAsCan|): Tidy. * interp/sys-utility.boot (delete): Fix thinko. * interp/sys-globals.boot ($sourceFiles): Define here. (INPUTSTREAM): Likewise. * interp/i-syscmd.boot (UNDERBAR): Move to sys-globals.boot. * interp/fname.lisp: Import "macros". * interp/debug.lisp: Import "parsing". Replace $PRETTYPRINT with $PrettyPrint. (/FN): Define. (depthAlist): Likewise. * interp/br-search.boot (docSearch1): Fix thinko. * interp/Makefile.pamphlet (debug.$(FASLEXT)): Depend on parsing.$(FASLEXT). * interp/i-output.boot (starstarcond): Remove used function. (transcomparg): Likewise. (MATBORCH): Define here. (*TALLPAR): Likewise. * interp/vmlisp.lisp (|char|): Remove duplicate definition. 2008-02-15 Gabriel Dos Reis * boot/parser.boot (bpSimpleCatch): New. (bTry): Use it. * boot/strap: Update. 2008-02-14 Gabriel Dos Reis Add try/catch to Boot. * boot/tokens.boot (shoeKeyWords): Add new keywords. * boot/ast.boot (Ast): Include three new nodes. (bfTry): New. (bfThrow): Likewise. * boot/parser.boot ($bodyHasReturn): Remove. (bpNoteReturnStmt): Likewise. (bpThrow): New. (bpTry): Likewise. (bpPiledCatchItems): Likewise. (bpCatchItemList): Likewise. (bpExceptionHead): Likewise. (bpExceptionTail): Likewise. (bpException): Likewise. (bpCatchItem): Likewise. (bpReturn): Include `throw' expressions. (bpStatement): Include `try' expressions. * interp/macros.lisp (|tryLine|): Rename from |try|. * interp/pspad1.boot: Replace `try' with `tryLine' throughout. 2008-02-14 Gabriel Dos Reis * OpenAxiom-1.1.0 has been released. 2008-02-14 Gabriel Dos Reis * driver/utils.c (openaxiom_execute_core) [__WIN32__]: Enclose every argument in quotes. 2008-02-10 Gabriel Dos Reis * interp/sys-driver.boot (executeSpadScript): By default make script execution quiet. Support --verbose for verbose processing. 2008-02-09 Gabriel Dos Reis Add support for batch processing. * sman/sman.c (process_arguments): Now take an argument for openaxiom_command. Don't support '-ws', '-comp', '-grprog', '-clefprog', '-clientprog' anymore. (process_options): Take one more arguments. (main): Excute the Core if in batch mode. * sman/Makefile.in (sman_objects): Add driver/utils.lo. (%.lo): Look up headers in src/driver too. * interp/sys-utility.boot (RECLAIM): Define here. (makeAbsoluteFilename): Likewise. * interp/sys-driver.boot ($openServerIfTrue): Define here. ($SpadServer): Likewise. (AxiomCore::%sysInit): Tidy. (loadExposureGroupData): Define here. (REROOT): Likewise. (initMemoryConfig): Likewise. (RESTART): Likewise. (SPAD-SAVE): Likewise. (SET-RESTART-HOOK): Likewise. (executeSpadScript): New. Install as driver. * interp/obey.lisp (OBEY): Use makeAbsoluteFilename. * interp/patches.lisp (save-system): Likewise. * interp/util.lisp: Likewise. * interp/vmlisp.lisp: Likewise. * interp/msgdb.boot: Have mssage throwers countError. * interp/incl.boot ($inputLineNumber): New. (incClassify): Use it. Recognize the magic number. (incLude1): Ignore line with magic number. * interp/i-toplev.boot (statisticsInitialization): Define here. * interp/i-syscmd.boot ($options): Define. ($historyDirectory): Likewise. ($HiFiAccess): Likewise. (history): Tidy. (initHist): Likewise. (initHistList): Likewise. (historySpad2Cmd): Likewise. (setHistoryCore): Likewise. (restoreHistory): Likewise. ($reportUndo): Define. (diffAlist): Tidy. * interp/diagnostics.boot (BUMPERRORCOUNT): Use countError. * interp/debug.lisp (/D-2): Use makeAbsoluteFilename. * interp/Makefile.pamphlet (OBJS): Remove bookvol5.$(FASLEXT). (makeint.lisp): Don't require bookvol5.$(FASLEXT). Don't load it. (bookvol5.$(FASLEXT)): Remove rule. (bookvol5.pamphlet): Remove. * include/sman.H1: Fold content into sman/sman.c. Remove. * driver/main.c (OPENAXIOM_CORE_EXECUTABLE): Move to utils.c (OPENAXIOM_SMAN_EXECUTABLE): Likewise. (OPENAXIOM_CORE_PATH): Likewise. (OPENAXIOM_SMAN_PATH): Likewise. (get_systemdir): Rename to openaxiom_get_systemdir; move to utils.c. (make_path_for): Rename openaxiom_make_path_for; move to utils.c (main): Simplify. * driver/utils.c: New. * driver/utils.h: Likewise. * driver/Makefile.in: Rename axiom to open-axiom. * Makefile.pamphlet (all-sman): Now require all-driver. 2008-02-04 Gabriel Dos Reis * interp/Makefile.pamphlet (OBJS): Include sys-utility.$(FASLEXT). (sys-utility.$(FASLEXT)): New rule. * interp/sys-utility.boot: New. * interp/macros.lisp (|functionp|): Move to sys-utility.boot. (|macrop|): Likewise. (|delete|): Likewise. (CONTAINED, contained\,eq, contained\,equal): Likewise. (ASSOCLEFT): Likewise. (ASSOCRIGHT): Likewise. (ADDASSOC): Likewise. (DELLASOS): Likewise. (LASSOC): Likewise. (|rassoc|): Likewise. 2008-02-03 Gabriel Dos Reis * interp/foam_l.lisp (|G-stdoutVar|): Define; don't just assign. (|G-stdinVar|): Likewise. (|G-stderrVar|): Likewise. (|FormatNumber|): Bind local variable; don't just assign to it. (|magicEq1|): Tidy. * interp/debug.lisp: Don't declare `COUNT as SPECIAL. Remove reference to LISP package. Remove CCL special-cased definitions. * interp/comp.lisp ($closedfns): Define. * interp/cfuns.lisp (|getEnv|): Define only for GCL, for the time being. 2008-02-03 Gabriel Dos Reis * boot/translator.boot (translateToplevelExpression): New. (bpOutItem): Use it. * boot/ast.boot (needsPROG): New. (shoeCompTran): Use it. Tidy. (bfMain): Define cache variables before functions manipulating them. * boot/strap/: Update cached Lisp translations. * interp/g-timer.boot: Use assignment instead of SETANDFILEQ at toplevel. * interp/i-syscmd.boot: Likewise. * interp/pf2atree.boot: Likewise. * interp/trace.boot: Likewise. 2008-02-02 Gabriel Dos Reis * interp/msgdb.boot ($MARG): Define. * interp/int-top.boot (intloopReadConsole): Remove code for $DALYMODE. * interp/define.boot ($NRTopt): Define. ($suffix): Likewise. * interp/debug.lisp (S-SPADKEY): Define. * interp/Makefile.pamphlet (OBJS): Don't include setq.$(FASLEXT). (setq.$(FASLEXT)): Remove rule. * interp/setq.lisp: Remove. 2008-02-02 Gabriel Dos Reis * interp/spad.lisp (APLMODE): Don't define. (XTOKENREADER): Don't set; define. * interp/setvars.boot (resetWorkspaceVariables): Don't reset $coerceIntByMapCounter. * interp/setq.lisp: Stop redundant assignments. * interp/nrunfast.boot ($NRTmonitorIfTrue): Define here. * interp/i-object.boot (objEnv): Use $EmptyEnvironment. * interp/i-coerce.boot ($useConvertForCoercions): Likewise. * interp/format.boot ($abbreviateJoin): Define here. 2008-02-02 Gabriel Dos Reis * interp/sys-globals.boot ($consistencyCheck): Remove. ($insideCanCoerceFrom): Define. 2008-02-01 Gabriel Dos Reis * interp/apply.boot (oldCompilerAutoloadOnceTrigger): Remove. * interp/setq.lisp: Remove more unused variables. * interp/patches.lisp (/RF-1): Tidy. * interp/server.boot (parseAndInterpret): Likewise. * interp/packtran.boot ($useNewParser): Remove. * interp/ht-util.boot (parseAndEval): Tidy. * interp/clam.boot ($failed): Define. * interp/g-timer.boot ($printStorageIfTrue): Likewise. * interp/hashcode.boot ($DomainsWithoutLisplibs): Likewise. * interp/i-coerce.boot ($useCoerceOrCroak): Likewise. * interp/i-analy.boot ($univariateDomains): Likewise. ($multivariateDomains): Likewise. * interp/i-object.boot ($useIntegerSubdomain): Likewise. * interp/i-syscmd.boot ($existingFiles): Likewise. * interp/newfort.boot ($fortranArrayStartingIndex): Likewise. * interp/setvars.boot (resetWorkspaceVariables): Don't reset $dependeeClosureAlist. 2008-02-02 Gabriel Dos Reis * interp/setq.lisp: Remove more unused variables. * interp/nruncomp.boot ($Slot1DataBase): Define here. * interp/parse.boot ($oldParserExpandAbbrs): Likewise. * interp/define.boot ($mutableDomains): Define here. (compDefineFunctor1): Tidy. (clearCmdCompletely): Don't set $functionTable. 2008-01-31 Gabriel Dos Reis * interp/setq.lisp (COPYRIGHTS): Remove. (LCTRUE): Likewise. ($HTPreviousDomain): Likewise. ($HTOperationError): Likewise. ($xdatabase): Likewise. ($CatOfCaDatabase): Likewise. ($DomOfCatDatabase): Likewise. ($JoinOfDomDatabase): Likewise. ($JoinOfCatDatabase): Likewise. ($attributeDb): Likewise. ($abbreviateIfTrue): Likewise. ($deltax): Likewise. ($deltay): Likewise. ($displayDomains): Likewise. ($displayTowardAncestors): Likewise. ($minimumSeparation): Likewise. ($testOutputLineFlag): Likewise. ($testOutputLineStack): Likewise. ($runTestFlag): Likewise. ($mkTestFlag): Likewise. ($mkTestInputStack): Likewise. ($mkTestOutputStack): Likewise. 2008-01-31 Gabriel Dos Reis * interp/unlisp.lisp (|OsRunProgram|): Remove. (|OsRunProgramToStream|): Likewise. (|PathnameWithinDirectory|): Likewise. (|PathnameWithinOsEnvVar|): Likewise. (|OsEnvGet|): Likewise. (|OsEnvVarCharacter|): Likewise. (|NewPathname|): Likewise. (|SessionPathname|): Likewise. (|PathnameDirectory|): Likewise. (|PathnameDirectoryOfDirectoryPathname|): Likewise. (|ToPathname|): Likewise. (|PathnameName|): Likewise. (|PathnameWithType|): Likewise. (|PathnameWithoutType|): Likewise. (|PathnameWithDirectory|): Likewise. (|PathnameWithoutDirectory|): Likewise. (|PathnameType|): Likewise. (|PathnameToUsualCase|): Likewise. (|PathnameAbsolute?|): Likewise. (|TempFileDirectory|): Likewise. (|OsProcessNumber|): Likewise. (|LispReadFromString|): Likewise. (|LispEval|): Likewise. (|LispCompile|): Likewise. (|LispCompileFile|): Likewise. (|LispLoadFileQuietly|): Likewise. (|LispLoadFile|): Likewise. (|LispKeyword|): Likewise. (|DeepCopy|): Remove. (|SortInPlace|): Likewise. (|PlainError|): Likewise. (|PlainPrint|): Likewise. (|PlainPrintOn|): Likewise. (|WriteByte|): Likewise. (|WriteChar|): Likewise. (|WriteString|): Likewise. (|WriteLine|): Likewise. (|ByteFileWriteLine|): Likewise. (|ReadByte|): Likewise. (|ByteFileReadLine|): Likewise. (|ReadChar|): Likewise. (|ReadLine|): Likewise. (|ReadLineIntoString|): Likewise. (|ByteFileReadLineIntoString|): Likewise. (|ReadBytesIntoVector|): Likewise. (|InputStream?|): Likewise. (|OutputStream?|): Likewise. (|StreamGetPosition|): Likewise. (|StreamSetPosition|): Likewise. (|StreamSize|): Likewise. (|WithOpenStream|): Likewise. (|StreamCopyChars|): Likewise. (|StreamCopyBytes|): Likewise. (|StreamEnd?|): Likewise. (|StreamFlush|): Likewise. (|StreamClose|): Likewise. (|LispFileType|): Likewise. (|FaslFileType|): Likewise. (|MakeSymbol|): Likewise. (|Symbol?|): Likewise. (|SymbolString|): Likewise. (|TrueBit|): Likewise. (|FalseBit|): Likewise. (|Bit?|): Likewise. (|BitOn?|): Likewise. (|BitOr|): Likewise. (|Bit|): Likewise. (|FullVector|): Likewise. (|Vector?|): Likewise. (|FullBvec|): Likewise. (|CharGreater?|): Likewise. (|CharDigit?|): Likewise. (|NewlineChar|): Likewise. (|SpaceChar|): Likewise. (|TimeStampString|): Likewise. (|CsetString|): Likewise. (|CsetComplement|): Likewise. (|AlphaCset|): Likewise. (|AlphaCset|): Likewise. (|LowerCaseCset|): Likewise. (|UpperCaseCset|): Likewise. (|NumericCset|): Likewise. (|CsetUnion|): Likewise. (|CsetMember?|): Likewise. (|FullString|): Likewise. (|ToString|): Likewise. (|StringImage|): Likewise. (|String?|): Likewise. (|StringGetCode|): Likewise. (|StringConcat|): Likewise. (|StringFromTo|): Likewise. (|StringFromToEnd|): Likewise. (|StringFromLong|): Likewise. (|StringPrefix?|): Likewise. (|StringUpperCase|): Likewise. (|StringLowerCase|): Likewise. (|StringGreater?|): Likewise. (|StringToInteger|): Likewise. (|StringToFloat|): Likewise. (|StringLength|): Likewise. (|Number?|): Likewise. (|Integer?|): Likewise. (|Float?|): Likewise. (|Odd?|): Likewise. (|Pair?|): Likewise. (|car|): Likewise. (|cdr|): Likewise. (|caar|): Likewise. (|cadr|): Likewise. (|cdar|): Likewise. (|cddr|): Likewise. (|caaar|): Likewise. (|caadr|): Likewise. (|cadar|): Likewise. (|caddr|): Likewise. (|cdaar|): Likewise. (|cdadr|): Likewise. (|cddar|): Likewise. (|cdddr|): Likewise. (|FastCar|): Likewise. (|FastCdr|): Likewise. (|FastCaar|): Likewise. (|FastCadr|): Likewise. (|FastCdar|): Likewise. (|FastCddr|): Likewise. (|FastCaaar|): Likewise. (|FastCaadr|): Likewise. (|FastCadar|): Likeiwse. (|FastCaddr|): Likewise. (|FastCdaar|): Likewise. (|FastCdadr|): Likewise. (|FastCddar|): Likewise. (|FastCdddr|): Likewise. (|IfCar|): Likewise. (|IfCdr|): Likewise. (|EqCar|): Likewise. (|EqCdr|): Likewise. (|ListNReverse|): Likewise. (|ListIsLength?|): Likewise. (|ListNRemoveQ|): Likewise. (|ListRemoveDuplicatesQ|): Likewise. (|ListUnion|): Likewise. (|ListUnionQ|): Likewise. (|ListIntersection|): Likewise. (|ListIntersectionQ|): Likewise. (|ListAdjoin|): Likewise. (|ListAdjoinQ|): Likewise. (|AlistAssoc|): Likewise. (|AlistRemove|): Likewise. (|AlistAdjoinQ|): Likewise. (|AlistUnionQ|): Likewise. (|Table?|): Likewise. (|TableCount|): Likewise. (|TableGet|): Likewise. (|TableSet|): Likewise. (|TableUnset|): Likewise. (|TableKeys|): Likewise. (lucid-os-run-program): Likewise. (lucid-os-run-program-to-stream): Likewise. (lucid-os-env-get): Likewise. (lucid-os-process-number): Likewise. (c-to-lisp-string): Likewise. (cmulisp-os-run-program): Likewise. (cmulisp-os-run-program-to-stream): Likewise. (cmulisp-os-env-get): Likewise. (cmulisp-os-process-number): Likewise. (kcl-os-run-program): Likewise. (kcl-os-run-program-to-stream): Likewise. (kcl-os-env-get): Likewise. (kcl-os-process-number): Likewise. (|PathnameString|): Likewise. (|Remainder|): Likewise. (|DoublePrecision|): Likewise. (|Abs|): Likewise. (|Min|): Likewise. (|Max|): Likewise. (|Exp|): Likewise. (|Ln|): Likewise. (|Log10|): Likewise. (|Sin|): Likewise. (|Cos|): Likewise. (|Tan|): Likewise. (|Cotan|): Likewise. (|Arctan|): Likewise. (|CharCode|): Likewise. (|Pathname|): Likewise. (|Char|): Likewise. (|Char?|): Likewise. (*new-pathname-counter*): Likewise. (|funcall|): Move sys-macros.lisp. (|Catch|): Likewise. (|Throw|): Likewise. (|UnwindProtect|): Likewise. * interp/pathname.boot (pathnameDirectory): Use KEYWORD package. * interp/incl.boot (ifCond): Use INTERN. (assertCond): Likewise. * interp/cformat.boot (pfname): Use NAMESTRING. 2008-01-28 Gabriel Dos Reis Support signature declaration in Boot. * boot/ast.boot (bfUntuple): New. (bfTagged): Toplevel tags are signatures. * boot/parser.boot (bpTyping): New. (bpTagged): Use it. * boot/translator.boot (genDeclaration): New. (bpOutItem): Use it. * interp/compiler.boot: Add type annotations for compiler routines. * lisp/Makefile.in ($(OUT)/lisp$(EXEEXT)): Don't turn on emit-fn. 2008-01-27 Gabriel Dos Reis * boot/Makefile.pamphlet: Remove. * boot/translator.boot: New. * boot/translator.boot: Remove. * boot/tokens.boot: New. * boot/tokens.boot.pamphlet: Remove. * boot/scanner.boot: New. * boot/scanner.boot.pamphlet: Remove. * boot/pile.boot: New. * boot/pile.boot.pamphlet: Remove. * boot/parser.boot: New. * boot/parser.boot.pamphlet: New. * boot/initial-env.lisp: New. * boot/initial-env.lisp.pamphlet: Remove. * boot/includer.boot: New. * boot/includer.boot.pamphlet: Remove. * boot/ast.boot: New. * boot/ast.boot.pamphlet: Remove. 2008-01-27 Gabriel Dos Reis Fix SF/1872551 * interp/c-util.boot (dollarIfRepHack): New. (RepIfRepHack): Likewise. (substituteDollarIfRepHack): Likewise. (isSubset): Dollar is subset of Rep only in old semantics. * interp/buildom.boot (mkMappingFunList): Substitute dollar for Rep only when appropriate. (mkRecordFunList): Likewise. (mkNewUnionFunList): Likewise. (mkUnionFunList): Likewise. * interp/compiler.boot (compNoStacking): Likewise. (compNoStacking1): Likewise. (getConstructorFormOfMode): Likewise. (isUnionMode): Likewise. (coerce): Likewise. (coerceSubset): Likewise. * interp/modemap.boot (addModemap1): Likewise. (isSuperDomain): Likewise. * interp/define.boot (maybeInsertViewMorphisms): New. (compCapsule): Use it. (compCategoryItem): Don't allow exports of rep and per. * interp/sys-globals.boot ($useRepresentationHack): New. 2008-01-26 Gabriel Dos Reis * interp/database.boot: Tidy uses of $EmptyEnvironment. * interp/i-map.boot: Likewise. Allocate fresh cell for $env. * interp/i-spec1.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/setvars.boot: Likewise. * interp/sys-globals.boot: Likewise. * interp/nruncomp.boot: Encode flag types too. * interp/template.boot: Likewise. * share/algebra: Update databases. 2008-01-25 Gabriel Dos Reis Fix AW/311 * interp/i-syscmd.boot (displayOperationsFromLisplib): Say no exported operations when there is nothing to display. 2008-01-24 Gabriel Dos Reis Fix AW/272 * interp/i-spec1.boot (compileADEFBody): Don't evaluate unnamed functions. Compile them instead. * testsuite/interpreter/aw-272.input: New. 2008-01-22 Gabriel Dos Reis * algebra/any.spad.pamphlet (empty$Scope): Use literal empty list. (empty$Environment): Likewise. 2008-01-21 Gabriel Dos Reis Waldek Hebisch Fix AW/102 * interp/iterator.boot (getIdentity): Properly identify the algebra empty list. 2008-01-21 Gabriel Dos Reis Apply patch by Stephen Wilson < Fix AW/370 * interp/compiler.boot (compWithMappingMode): Consult current environment to decide which variabes are free. * testsuite/compiler/cwmm-test.spad: New. 2008-01-21 Gabriel Dos Reis * algebra/syntax.spad.pamphlet (Syntax): Assert a member of SetCategory. Implement equality. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Move BASTYPE.o from layer 3 to here. Move SYNTAX.o from here to layer 1. (axiom_algebra_layer_1): Move CTROCALL.o to layer 2. * share/algebra: Update database. 2008-01-20 Gabriel Dos Reis * algebra/syntax.spad.pamphlet (ElaboratedExpression): New. * algebra/any.spad.pamphlet: Rename ObjectProperty to Property. * algebra/exposed.lsp.pamphlet: Likewise. * algebra/Makefile.pamphlet (axiom_algebra_layer_5): Include ELABEXPR.o * share/algebra: Update databases. 2008-01-19 Gabriel Dos Reis * algebra/syntax.spad.pamphlet: Rename from algebra/syntax.spad. Add a new domain for constructor instantiation form. * algebra/Makefile.pamphlet (axiom_algebra_layer_1): Include CTORCALL.o (SYNTAX.NRLIB/code.$(FASLEXT)): Remove rule. Now implicit. * share/algebra: Update databases. 2008-01-19 Gabriel Dos Reis * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Now include SYNTAX.o * algebra/syntax.spad (buildSyntax$Syntax): Use CONS$Lisp to permit early bootstrap. 2008-01-19 Gabriel Dos Reis * algebra/any.spad.pamphlet (getProperty$Environment): New. (setProperty!$Environment): Likewise. (getProperties$Environment): Likewise. (setProperties!$Environment): Likewise. 2008-01-19 Gabriel Dos Reis * interp/construc.lisp (|loadLibNoUpdate|): Fix thinko in initial value for empty environments. * interp/database.boot (rebuildCDT): Likewise. * interp/i-map.boot (addDefMap): Likewise. (rewriteMap0): Likewise. (rewriteMap1): Likewise. (compileDeclaredMap): Likewise. (analyzeUndeclaredMap): Likewise. * interp/i-spec1.boot: Likewise. * interp/i-syscmd.boot (reportOperations): Likewise. * interp/i-toplev.boot (interpret): Likewise. * interp/lisplib.boot (loadLib): Likewise. (loadLibNoUpdate): Likewise. * interp/setvars.boot (resetWorkspaceVariables): Likewise. * interp/spad.lisp ($e): Move definition to sys-globals.boot. ($env): Likewise. * interp/sys-globals.boot ($e): Define here. ($env): Likewise. * algebra/any.spad.pamphlet (ObjectProperty): New. (Binding): Likewise. (Contour): Likewise. (Scope): Likewise. (Environment): Likewise. * algebra/exposed.lsp.pamphlet: Expose ObjectProperty, Binding, Contour, Scope, and Environment. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include OBJPROP.o. (axiom_algebra_layer_1): Include BINDING.o (axiom_algebra_layer_2): Include CONTOUR.o (axiom_algebra_layer_3): Include SCOPE.o (axiom_algebra_layer_4): Include ENV.o * share/algebra: Update database. 2008-01-17 Gabriel Dos Reis Fix SF/1849734 * interp/i-spec1.boot (upand): Don't insist on having operands of type Boolean. (upor): Likewise. * algebra/mkrecord.spad.pamphlet (Pair): New domain constructor. * algebra/exposed.lsp.pamphlet: Expose Pair, PropositionalLogic, PropositionalFormula. * algebra/boolean.spad.pamphlet (PropositionalFormula): New domain constructor. * algebra/Makefile.pamphlet (axiom_algebra_layer_4): Include PAIR.o. (axiom_algebra_layer_19): Include PROPFRML.o * share/algebra: Update databases. * testsuite/interpreter/1849734.input: New. 2008-01-16 Gabriel Dos Reis Fix SF/1848975 * interp/buildom.boot ($commonCategoryAncestors): New. ($commonCategoryDefaults): Likewise. (Record0): Use it. (Union): Likewise. (Mapping): Likewise. (Enumeration): Likewise. * testsuite/algebra/1848975.input: New. 2008-01-16 Gabriel Dos Reis Fix SF/1872564 * interp/compiler.boot (compPretend): Don't check for `new' compiler semantics. (compColonInside): Likewise. * testsuite/compiler/1872564.spad: New. 2008-01-15 Gabriel Dos Reis Fix SF/1850071 * algebra/syntax.spad (compound?$Syntax): New. 2008-01-15 Gabriel Dos Reis * algebra/boolean.spad.pamphlet (PropositionalLogic): New category. (Boolean): Assert as belonging to PropositionalLogic. Update cached Lisp translation. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Add PROPLOG.o * src/algebra: Update databases. 2008-01-15 Gabriel Dos Reis * algebra/syntax.spad (autoCoerce$Syntax): Add overloads. * interp/compiler.boot (coerceExtraHard): Always coerce by autoCoerce. * testsuite/interpreter/case.spad: Likewise. * testsuite/interpreter/case.input: New. 2008-01-14 Gabriel Dos Reis * interp/compiler.boot (compSymbol): Don't handle possible case views here. (hasUniqueCaseView): Rename from getUniqueCaseView. Take the target mode as second argument. (compForm2): Use calling convention vector to determine infer flag parameter types. (compCase1): Uniformly handle `case-expressions'. Call genDeltaEntry for selected operator. (coerceExtraHard): Handle coercions from UnionType domains. (autoCoerceByModemap): Tidy. * interp/g-opt.boot (optCall): Be more verbose in diagnostics. * algebra/syntax.spad (Syntax): Rework. * algebra/coerce.spad.pamphlet (UnionType): New. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include UTYPE.o * share/algebra: Update databases. 2008-01-13 Gabriel Dos Reis Fix SF/1852076 * algebra/domain.spad (reify$Domain): Specify target type of conversion. * interp/nrunfast.boot (newLookupInDomain): Tidy. (newLookupInCategories): Likewise. * testsuite/interpreter/1852076.input: New. 2008-01-13 Gabriel Dos Reis Fix SF/1867459 * interp/postpar.boot (postError): Fix thinko. * interp/parse.boot ($defOp): Define. * testsuite/compiler/1867459.spad: New. 2008-01-13 Ralf Hemmecke Gabriel Dos Reis * algebra/bags.spad.pamphlet (map!$Stack): Cache the result in the underlying reference. 2008-01-11 Gabriel Dos Reis * interp/msg.boot (getStFromMsg): Fix typo. 2008-01-10 Gabriel Dos Reis * algebra/syntax.spad (getOperator): Inject into the right Union branch. 2008-01-08 Gabriel Dos Reis * interp/msgdb.boot (brightPrint0): Disable highlightinh on Win32. * lib/cfuns-c.c (std_stream_is_terminal): Tidy. 2008-01-08 Gabriel Dos Reis * boot/Makefile.pamphlet (AXIOM_LOCAL_LISP): Use Lisp image with C bindings. * interp/msgdb.boot (brightPrint0): Don't highlight if the standard output is not attached to a terminal. * interp/sys-driver.boot (stdStreamIsTerminal): New. * lib/cfuns-c.c (std_stream_is_terminal): New. 2008-01-07 Gabriel Dos Reis * boot/ast.boot.pamphlet (Ast): Add ImportSignature, Signature, and Mapping. * boot/parser.boot.pamphlet (bpImport): Parse import declaration. (bpSignature): New. (bpMapping): Likewise. * boot/tokens.boot.pamphlet (shoeKeyWords): Add new keyword. * boot/translator.boot.pamphlet (genImportDeclaration): Translate import declaration. (shoeOutItem): Handle import declarations. 2008-01-06 Gabriel Dos Reis * sman/sman.c: Remove debug and dead codes. 2008-01-06 Gabriel Dos Reis * driver/main.c (main) [__WIN32__]: Fix off-by-one thinko. 2008-01-05 Gabriel Dos Reis * scripts/axiom.in: Remove. * driver: New directory. * driver/main.c: New. Now implement driver as native application. 2007-12-27 Gabriel Dos Reis * booklets: Remove. * Makefile.pamphlet (all-book): Remove. 2007-11-25 Gabriel Dos Reis * Makefile.pamphlet: Remove all-depsys rule. (all-interpsys): Now depend on all-boot. 2007-09-19 Gabriel Dos Reis * Makefile.pamphlet (all-interpsys): Now depend on all-depsys. 2007-08-21 Gabriel Dos Reis * Makefile.pamphlet (all-check): New rule. * Makefile.in: Regenerate. 2007-08-17 Gabriel Dos Reis * Makefile.pamphlet (all-lisp): Don't make $(axiom_build_bindir) here. Pass target tp $(MAKE). (all-boot): Likewise. (all-lib): Don't make $(OUT) here. Pass target to $(MAKE). * Makefile.in: Regenerate. 2007-08-05 Gabriel Dos Reis * Makefile.pamphlet (all-lisp): Don't make all-boot a prereqsite. (all-boot): Make all-lisp a prerequisite. * Makefile.in: Regenerate. 2007-07-14 Gabriel Dos Reis * Makefile.pamphlet: Remove obsolete comments. (all-doc): Don't create int/ directory. (all-graph): Likewise. 2007-06-20 Gabriel Dos Reis * Makefile.pamphlet (all-algebra): Depend on all-hyper. * Makefile.in: Regenerate. 2007-05-28 Gabriel Dos Reis * Makefile.pamphlet (all-clef): Don't use AX_FLAGS. (all-sman): Likewise. (all-hyper): Likewise. (all-share): Likewise. (all-book): Likewise. (all-lib): Likewise. (all-boot): Likewise. (all-depsys): Likewise. (all-interpsys): Likewise. (all-interpsys): Likewise. (all-axiomsys): Likewise. (all-axiomsys): Likewise. (all-lisp): Likewise. (all-algebra): Likewise. (all-input): Likewise. (all-asq): Likewise. (all-doc): Likewise. (all-graph): Likewise. * Makefile.in: Regenerate. 2007-03-26 Gabriel Dos Reis * Makefile.pamphlet (all-boot): Don't make all-lisp a prerequisite. (all-depsys): Require only all-boot. (all-interpsys): Additionally require all-lisp. (all-lisp): Additionally require all-boot. * Makefile.in: Regenerate. 2007-03-25 Gabriel Dos Reis * Makefile.pamphlet (all-depsys): New target. (all-interpsys): Make it a prerequisite. * Makefile.in: Regenerate. 2007-03-13 Gabriel Dos Reis * Makefile.pamphlet (all-boot): Depend on all-lisp only when --enable-gcl. (all-interpsys): Depend on both all-lisp and all-boot. * Makefile.in: Regenerate. 2006-12-26 Gabriel Dos Reis * Makefile.pamphlet: Eradicate use of ENV. 2006-12-21 Gabriel Dos Reis * Makefile.pamphlet (all-input): Don't depend on all-clef. * Makefile.in: Regenerate. 2006-12-16 Gabriel Dos Reis * Makefile.pamphlet (all-interpsys): Don't make int/algebra. (all-algebra): Don't make int/input (all-input): Likewise. * Makefile.in: Regenerate. 2006-12-15 Gabriel Dos Reis * Makefile.pamphlet (all-graph): Don't make obj/ sub-directory. 2006-12-14 Gabriel Dos Reis * Makefile.pamphlet (all-algebra): Avoid creating unnecessary directories. * Makefile.in: Regenerate. 2006-12-10 Gabriel Dos Reis * Makefile.pamphlet (SUBDIRS): Restore. * Makefile.in: Regenerate. 2006-12-09 Gabriel Dos Reis * include/sockio-c.H1 (close_socket): Adjust first parameter type. 2006-12-07 Gabriel Dos Reis * Makefile.pamphlet (all-algebra): Stop generating part of algebra/Makefile at build time. * Makefile.in: Regenerate. 2006-12-06 Gabriel Dos Reis * Makefile.pamphlet (SUBDIRS): Remove. Use AX_FLAGS to communicate variables to sub-processes. * Makefile.in: Regenerate. 2006-12-06 Gabriel Dos Reis * Makefile.pamphlet (all-lib): Make $(OUT) directory before the actual make. (stamp): Have dependencies computed at configureation time. * Makefile.in: Regenerate. 2006-12-04 Gabriel Dos Reis * include/com.h: Add preliminary support for Windows sockets. (axiom_socket): New typedef. Abstract over differences between Windows and POSIX worlds. (axiom_close_socket): Declare. (axiom_write, axiom_read): New functions. Encapsulate read and write to sockets. 2006-12-01 Gabriel Dos Reis * include/cfuns-c.H1 (CLgetpid): Remove declaration. 2006-11-29 Gabriel Dos Reis * include/addfile.H1: Remove K&R C style function declarations. * include/bsdsignal.h: Likewise. * include/bsdsignal.H1: Likewise. * include/cfuns-c.H1: Likewise. * include/cond.H1: Likewise. * include/cursor.H1: Likewise. * include/dialog.H1: Likewise. * include/display.H1: Likewise. * include/edible.H1: Likewise. * include/edin.H1: Likewise. * include/event.H1: Likewise. * include/ex2ht.H1: Likewise. * include/extent1.H1: Likewise. * include/extent2.H1: Likewise. * include/fnct_key.H1: Likewise. * include/form_ext.H1: Likewise. * include/group.H1: Likewise. * include/halloc.H1: Likewise. * include/hash.H1: Likewise. * include/hash.h: Likewise. * include/htadd.H1: Likewise. * include/hterror.H1: Likewise. * include/hthits.H1: Likewise. * include/htinp.H1: Likewise. * include/hyper.H1: Likewise. * include/initx.H1: Likewise. * include/input.H1: Likewise. * include/item.H1: Likewise. * include/keyin.H1: Likewise. * include/lex.H1: Likewise. * include/macro.H1: Likewise. * include/mem.H1: Likewise. * include/nagman.H1: Likewise. * include/openpty.H1: Likewise. * include/parse_aux.H1: Likewise. * include/parse.H1: Likewise. * include/parse_input.H1: Likewise. * include/parse_paste.H1: Likewise. * include/parse_types.H1: Likewise. * include/pixmap.H1: Likewise. * include/prt.H1: Likewise. * include/ReadBitmap.H1: Likewise. * include/scrollbar.H1: Likewise. * include/session.H1: Likewise. * include/show_types.H1: Likewise. * include/sman.H1: Likewise. * include/sockio-c.H1: Likewise. * include/spadbuf.H1: Likewise. * include/spadclient.H1: Likewise. * include/spadcolors.H1: Likewise. * include/spadint.H1: Likewise. * include/titlebar.H1: Likewise. * include/util.H1: Likewise. * include/wct.H1: Likewise. * include/XDither.H1: Likewise. * include/XShade.H1: Likewise. * include/XSpadFill.H1: Likewise. 2006-11-28 Gabriel Dos Reis * lisp: Rename from ../lsp. 2006-11-26 Gabriel Dos Reis * Makefile.pamphlet (stamp): Also depends on all-sman. * Makefile.in: Regenerate. 2006-11-24 Gabriel Dos Reis * Makefile.pamphlet (stamp): Depend on Autoconf-subst'ed variable @axiom_src_all@. * Makefile.in: Regenerate. 2006-11-24 Gabriel Dos Reis * Makefile.pamphlet: Rework. (clef-stamp, sman-stamp, hyper-stamp, share-stamp, book-stamp, lib-stamp, boot-stamp, interp-stamp, alg-stamp, input-stamp, etc-stamp, doc-stamp, graph-stamp): Remove. (all-clef, all-sman, all-hyper, all-share, all-book, all-lib, all-boot, all-interpsys, all-algebra, all-input, all-asq, all-doc, all-graph, all-axiomsys): New phony targets. Replace all stamp based targets. Stamps are now managed by each phony targets. Spell out dependencies. * Makefile.in: Regenerate. 2006-10-28 Gabriel Dos Reis * Makefile.pamphlet (mostlyclean-local, clean-local, distclean-local): New. 2006-10-26 Bill Page * Makefile.pamphlet ($(alg-stamp)): Don't append to $(builddir)/algebra/more-rules.mk. Just overwrite it. * Makefile.in: Regenerate. 2006-10-23 Gabriel Dos Reis * Makefile.pamphlet: Don't specify path to axiom.sty. 2006-10-08 Gabriel Dos Reis * Makefile.pamphlet: Remove references to ${MNT} throughout. * Makefile.in: Regenerate. 2006-09-26 Gabriel Dos Reis * Makefile.pamphlet (DIRS, DOCS, CLNS): Remove. Globally rename dir to . (clef-stamp, sman-stamp, hyper-stamp, share-stamp, book-stamp, lib-stamp, boot-stamp, interp-stamp, alg-stamp, input-stamp, etc-stamp, doc-stamp, graph-stamp): New variables. Remove clean make rules. Rename dir make rules to $(-stamp) rules. Spell out dependencies. * Makefile.in: Regenerate. 2006-09-18 Gabriel Dos Reis * Makefile.pamphlet: Tidy. (subdir, pamphlets): New. * Makefile.in: Regenerate. 2006-09-11 Gabriel Dos Reis * Makefile.pamphlet: Throughout, replatce ${SRC} with $(axiom_src_srcdir). * Makefile.in: Regenerate. 2006-09-03 Gabriel Dos Reis * Makefile.pamphlet: (${SRC}/clef/Makefile): Remove. (clefdir): Depend on $(builddir)/clef/Makefile. (clefdocument): Likewise. (clefclean): Likewise. (${SRC}/sman/Makefile): Remove. (smandir): Depend on $(builddir)/sman/Makefile. (smandocument): Likewise. (smanclean): Likewise. (${SRC}/hyper/Makefile): Remove. (hyperdir): Depend on $(builddir)/hyper/Makefile (hyperdocument): Likewise. (hyperclean): Likewise. (${SRC}/share/Makefile): Remove. (sharedir): Depend on $(builddir)/share/Makefile. (sharedocument): Likewise. (shareclean): Likewise. (${SRC}/booklets/Makefile): Remove. (bookletsdir): Depend on $(builddir)/booklets/Makefile. (bookletsdocument): Likewise. (bookletsclean): Likewise. (${SRC}/lib/Makefile): Remove. (libdir): Depend on $(builddir)/lib/Makefile (libdocument): Likewise. (libclean): Likewise. (${SRC}/boot/Makefile): Remove. (bootdir): Depend on $(builddir)/boot/Makefile (bootdocument): Likewise. (bootclean): Likewise. (${SRC}/interp/Makefile): Remove. (interpdir): Depend on $(builddir)/interp/Makefile. (interpdocument): Likewise. (interpclean): Likewise. (${SRC}/algebra/Makefile): Remove. (algebradir): Depend on $(srcdir)/algebra/Makefile.pamphlet. Output additional rules in $(builddir)/algebra/more-rules.mk. (algebradocument): Depend on $(builddir)/algebra/Makefile. (algebraclean): Likewise. (${SRC}/input/Makefile): Remove. (inputdir): Depend on $(builddir)/input/Makefile. (inputdocument): Likewise. (inputclean): Likewise. (${SRC}/etc/Makefile): Remove. (etcdir): Depend on $(builddir)/etc/Makefile. (etcdocument): Likewise. (etcclean): Likewise. (${SRC}/doc/Makefile): Remove. (docdir): Depend on $(builddir)/doc/Makefile. (docdocument): Likewise. (docclean): Likewise. (${SRC}/graph/Makefile): Remove. (graphdir): Depend on $(builddir)/graph/Makefile. (graphdocument): Likewise. (graphclean): Likewise. ($(DOC)/%.dvi): Split into multiple rules. Use $(axiom_build_document). (${DOC}/axiom.sty): Remove. * Makefile.in: New. 2006-08-28 Gabriel Dos Reis * Makefile.pamphlet (<>=): Remove. Scripts are now generated at configure time.