aboutsummaryrefslogtreecommitdiff
path: root/src/interp/database.boot
AgeCommit message (Collapse)AuthorFilesLines
2016-01-12Share more code between various parts of the compiler.Gabriel Dos Reis1-3/+16
2016-01-09Switch getDualSignature to avoiding interpreter databaseGabriel Dos Reis1-2/+4
Now that OpenAxiom emits the dual signature data also directly in the generated executable code for a constructor, there is no no need to consult the interpreter data base for that information. This change relies on the previous commit, e.g. getDualSignature should be considered invalid for builtin constructors. Any instanbility caused by this patch should be considered a latent bug that should be given high priority fixing.
2016-01-09Remove $AncestorsTable. Adjust users.Gabriel Dos Reis1-1/+1
2016-01-06Remove $insideCategoryIfTrue. Replace with call to new function dbForCategory?Gabriel Dos Reis1-1/+1
2014-11-27Replace PATHNAME-* Lisp API with filePath* API.dos-reis1-1/+1
2013-06-24Simplify database construction.dos-reis1-4/+0
2013-06-15Store category defaults constructor as part of category constructor DB.dos-reis1-0/+10
2013-05-28Various cleanups.dos-reis1-2/+2
2013-05-28 Remove $domainShell.dos-reis1-1/+1
2013-05-27 * interp/sys-utility.boot ($ERASE): Remove.dos-reis1-2/+2
2013-05-27Rename MAKE-FULL-FILENAME to makeFullFilename.dos-reis1-1/+1
2013-05-21Use DB data structure directly.dos-reis1-2/+3
2013-05-20 * interp/database.boot (getConstructorAbbreviationFromDB): Use DBdos-reis1-1/+2
data structure directtly.
2013-05-12 * interp/database.boot (getConstructorModemap): Revert previous change.dos-reis1-2/+2
2013-05-11 Remove IndexedTwoDimensionalArray.dos-reis1-2/+2
2012-05-24 * boot/scanner.boot (lexerLineLength): New.dos-reis1-2/+2
(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-23 * interp/database.boot (%Constructor): New.dos-reis1-24/+35
(makeConstructor): Likewise. (makeInitialDB): Tidy. * interp/daase.lisp (makeDB): Take two more parameters. Build a %Constructor structure object too.
2012-05-23 * interp/sys-driver.boot (initializeDatabases): Load initidb ifdos-reis1-10/+7
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 * interp/br-search.boot: Use findChar and findString in lieu of STRPOS.dos-reis1-2/+2
* 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-12 * interp/c-util.boot: Miscellaneous cleanup.dos-reis1-1/+1
* 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-08 * boot/tokens.boot: Export char. Do not rename maxIndex.dos-reis1-1/+1
* 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-02-13 * interp/g-util.boot (stripTags): Rename from stripUnionTags.dos-reis1-0/+8
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-10 * interp/database.boot (categoryConstructor?): New.dos-reis1-1/+5
* interp/define.boot (mkEvalableCategoryForm): Use it. Tidy.
2011-12-28 * boot/tokens.boot: Do not rewrite drop and take.dos-reis1-1/+1
* 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-11-28 * interp/database.boot (dbDefaultPackage?): New.dos-reis1-0/+4
* interp/define.boot (compDefine1): Avoid encodeItem when symbolName is meant. (mkRepititionAssoc): Move from functor.boot (encodeItem): Likewise. (getCaps): Likewise. Tidy. (encodeFunctionName): Likewise.
2011-11-13 * interp/br-data.boot (buildLibdbConEntry): Exit early if argumentdos-reis1-1/+2
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-10-31 * interp/compiler.boot (evaluateConstructorModemap): Rename fromdos-reis1-2/+10
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 * interp/define.boot (compDefineCategory2): Compute dual signaturedos-reis1-17/+12
early on. (compDefineFunctor1): Likewise. * interp/database.boot (modemapsFromCategory): Take a first argument as a DB. Tidy. Adjust caller. (modemapsFromFunctor): Likewise. Lose last argument. (mkDatabasePred): Remove. (formal2Pattern): Likewise.
2011-10-30 * interp/define.boot (compDefineCategory2): Compute dual signaturedos-reis1-6/+5
early on. * interp/database.boot (modemapsFromCategory): Take a first argument as a DB. Tidy. Adjust caller.
2011-10-30 * interp/sys-macros.lisp (MKPF1): Tidy.dos-reis1-5/+4
* 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 * interp/define.boot (getInfovecCode): Take a DB argument. Passdos-reis1-1/+3
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-28 * interp/database.boot (orderPredTran): Tidy.dos-reis1-72/+37
(interactiveModemapForm): Likewise. (getDCFromSystemModemap): Likewise. (getDomainFromMm): Likewise. (getAllModemapsFromDatabase): Likewise. (getModemapsFromDatabase): Likewise. (getSystemModemaps): Likewise. (getInCoreModemaps): Likewise. (flattenSignatureList): Likewise.
2011-10-28 * interp/sys-globals.boot ($lisplibModemapAlist): Remove.dos-reis1-37/+49
* 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-01 * boot/utility.boot: Define BOOTTRAN namespace.dos-reis1-8/+8
(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-08 * interp/sys-globals.boot ($clamList): Do not include hasFileProperty.dos-reis1-2/+1
* 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 * interp/lisplib.boot (finalizeLisplib): Finalize documentaiondos-reis1-6/+7
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-05 Stop using LOADED symbol property of constructors.dos-reis1-2/+5
* 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 * interp/lisplib.boot (writeCategory): New,dos-reis1-3/+5
(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-05 * interp/daase.lisp (GETDATABASE): Do not handle PREDICATES anddos-reis1-6/+6
ATTRIBUTES selectors anymore. * interp/database.boot (getConstructorPredicates): Rename from getConstructorPredicatesFromDB. Adjust callers. (getConstructorAttributes): Rename from getConstructorAttributesFromDB. Adjust callers.
2011-08-25 * interp/define.boot ($mutableDomain): Remove. Adjust users.dos-reis1-7/+0
($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-25 * interp/daase.lisp (dbArity, dbInstanceCache): New accessors.dos-reis1-0/+15
* interp/database.boot (loadDBIfnecessary): New. (dbMutable?): Likewise. * interp/lisplib.boot (finalizeLisplib): Record mutable property.
2011-08-24 * algebra/Makefile.in: Support construction initial DB profile.dos-reis1-0/+24
* 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 * interp/sys-driver.boot (initializeDatabases): New.dos-reis1-0/+15
(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 * interp/daase.lisp: Remove NILADIC field from DATABASE structure.dos-reis1-1/+1
(dbNiladic?): Remove. Adjust users. (WRITE-INTERP): Don't write NILADIC field.
2011-08-22 * interp/database.boot (getConstructorModemap): Rename fromdos-reis1-3/+3
getConstructorModemapFromDB. Adjust callers.
2011-08-22 * interp/database.boot (niladicConstructor?): Rename fromdos-reis1-4/+4
niladicConstructorFromDB. Use getConstructorFormFromDB. Adjust callers.
2011-08-20 * interp/sys-utility.boot (constructorDB): New.dos-reis1-0/+2
* 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-18 * interp/c-util.boot (categoryAssociatedTypes): Rename fromdos-reis1-16/+0
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-06cleanupdos-reis1-6/+6
2011-08-04cleanupdos-reis1-1/+1