aboutsummaryrefslogtreecommitdiff
path: root/src/interp/database.boot
AgeCommit message (Collapse)AuthorFilesLines
2016-02-09Various cleanupsGabriel Dos Reis1-1/+1
Rename getFunctionTemplate to matchSignatureInTemplate. Rename lookupInheritedDefiningFunction to lookupRemoteDefiningFunction as the function wasn't really about inherited operators. Have it avoid returning functions that might need their domain domain to operate correctly. Simplify getOpCode: it only needs two arguments since the third was the length of the second argument. dbDefaultPackage? is no longer a macro.
2016-02-02Rename dbConstructorDefault to dbDefaultPackageGabriel Dos Reis1-4/+13
And various cleanups.
2016-01-22getConstructorFullNameFromDB: get it directly.Gabriel Dos Reis1-2/+2
2016-01-21getConstructorAncestorsFromDB: get them from generated codeGabriel Dos Reis1-2/+5
Ancestors for category constructors are stored in databases with parameter names of the form #1, #2, etc. called "formals", instead of the user-writtern parameters in the input souce code. However, the ancestors as previously stored in generated code used the input source-level parameter names. Changed to formals, so no rewrite needed before making databases.
2016-01-20getConstructorArgsFromDB: remove as redundant.Gabriel Dos Reis1-5/+1
2016-01-20getConstructorFromFromDB: get it from compiled code.Gabriel Dos Reis1-2/+6
2016-01-20testExtend: Handle case where first argument is presented as an attribute.Gabriel Dos Reis1-0/+1
2016-01-19Skip interp.daase for a few database info in generated code.Gabriel Dos Reis1-2/+2
2016-01-19getConstructorCategory: get it from generated code for category constructors.Gabriel Dos Reis1-1/+4
2016-01-17getConstructorParentsFromDB: get data from compiled code.Gabriel Dos Reis1-2/+5
2016-01-16Reduce dependencies on databases to catgeory.daase during algebra buildGabriel Dos Reis1-30/+54
2016-01-13getSuperDomainFromDB: get data from generated codeGabriel Dos Reis1-1/+4
Don't call GETDATABASE to read the information. Rather, load the generated code for the contructor. Discovered mode algebra dependencies.
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.