aboutsummaryrefslogtreecommitdiff
path: root/src/interp/daase.lisp
AgeCommit message (Collapse)AuthorFilesLines
2016-01-22getConstructorFullNameFromDB: get it directly.Gabriel Dos Reis1-4/+0
2016-01-21getConstructorAncestorsFromDB: get them from generated codeGabriel Dos Reis1-13/+1
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-3/+1
2016-01-20getConstructorFromFromDB: get it from compiled code.Gabriel Dos Reis1-7/+1
2016-01-19Skip interp.daase for a few database info in generated code.Gabriel Dos Reis1-12/+7
2016-01-17getConstructorParentsFromDB: get data from compiled code.Gabriel Dos Reis1-6/+0
2016-01-16Reduce dependencies on databases to catgeory.daase during algebra buildGabriel Dos Reis1-12/+0
2016-01-13GETDATABASE: Remove dead alternatives.Gabriel Dos Reis1-7/+1
2016-01-09Switch getDualSignature to avoiding interpreter databaseGabriel Dos Reis1-12/+0
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-20/+10
2016-01-08Replace \*ANCESTORS-HASH\* with $AncestorsTable.Gabriel Dos Reis1-6/+6
2016-01-08Replace \*HASCATEGORY-HASH\* with $HasCategoryTableGabriel Dos Reis1-9/+9
2015-12-27Write out a functor's operation table separately in generated code stream.Gabriel Dos Reis1-1/+5
2013-06-24Simplify database construction.dos-reis1-145/+18
2013-06-24 * interp/sys-constants.boot ($BuiltinAttributes): Removedos-reis1-3/+0
finiteAggregate and shallowlyMutable. * interp/daase.lisp (WRITE-COMPRESS): Do not push strings.
2013-06-15Store category defaults constructor as part of category constructor DB.dos-reis1-1/+2
2013-05-28Have compDefine take a DB parameterdos-reis1-0/+1
2013-05-27Define getWorkingDirectory via FFI.dos-reis1-14/+3
2013-05-21Use DB data structure directly.dos-reis1-9/+1
2013-05-15Fix typodos-reis1-1/+1
2013-05-15Add DB documentation accessordos-reis1-0/+3
2012-05-23 * interp/database.boot (%Constructor): New.dos-reis1-4/+5
(makeConstructor): Likewise. (makeInitialDB): Tidy. * interp/daase.lisp (makeDB): Take two more parameters. Build a %Constructor structure object too.
2011-11-13 * interp/sys-driver.boot (initializeDatabases): Honor --initial-db.dos-reis1-7/+7
(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-10 * interp/daase.lisp (dbLookupFunction): New accessor macro.dos-reis1-0/+4
* 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-10-29 * interp/daase.lisp (dbCompilerData): New accessor macro.dos-reis1-2/+5
(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 * interp/define.boot (getInfovecCode): Take a DB argument. Passdos-reis1-187/+0
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 * interp/compiler.boot (compHasFormat): Simplify type form.dos-reis1-1/+1
2011-10-29 * interp/nruncomp.boot (mkDomainCatName): Remove.dos-reis1-0/+5
* 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 * interp/daase.lisp (DATABASE): Add new field CAPSULE-DEFINITIONS.dos-reis1-0/+4
(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-09-07 * interp/lisplib.boot (finalizeLisplib): Finalize documentaiondos-reis1-1/+1
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 * interp/nruncomp.boot (NRTaddInner): Use the dual signature.dos-reis1-2/+1
* 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-05 Stop using LOADED symbol property of constructors.dos-reis1-3/+7
* 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-10/+4
(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-14/+2
ATTRIBUTES selectors anymore. * interp/database.boot (getConstructorPredicates): Rename from getConstructorPredicatesFromDB. Adjust callers. (getConstructorAttributes): Rename from getConstructorAttributesFromDB. Adjust callers.
2011-09-04 * interp/lisplib.boot (writeAbbreviation): New.dos-reis1-19/+19
(writePredicates): Likewise. (finalizeLisplib): Use them. * interp/daase.lisp (squeezeCopy): New, Use it in place of SQUEEZE.
2011-09-03 * interp/property.lisp: Remove unused codes.dos-reis1-6/+4
* 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-29 * interp/lisplib.boot (laodIfNecessaryAndExists): Remove as unused.dos-reis1-3/+9
(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-28 * interp/define.boot (compDefineCategory2): Mark begining and enddos-reis1-3/+6
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-28 * interp/daase.lisp (DATABASE): Add new field BEING-DEFINED.dos-reis1-157/+162
(dbBeingMacro?): New accessor. (GETDATABASE): Tidy.
2011-08-25 * interp/daase.lisp (dbArity, dbInstanceCache): New accessors.dos-reis1-1/+7
* interp/database.boot (loadDBIfnecessary): New. (dbMutable?): Likewise. * interp/lisplib.boot (finalizeLisplib): Record mutable property.
2011-08-23 * interp/sys-driver.boot (initializeDatabases): New.dos-reis1-40/+74
(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-23 * interp/sys-driver.boot (initializeGlobalState): Constructdos-reis1-1/+0
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 * interp/daase.lisp: Remove NILADIC field from DATABASE structure.dos-reis1-29/+13
(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-1/+1
niladicConstructorFromDB. Use getConstructorFormFromDB. Adjust callers.
2011-08-21 * interp/lisplib.boot (leaveIfErrors): Take kind as argument.dos-reis1-45/+57
(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-20 * interp/sys-utility.boot (constructorDB): New.dos-reis1-39/+43
* 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-06-211 * interp/Makefile.in (OBJS): Remove foam_l.$(FASLEXT), $(ASCOMP).dos-reis1-339/+5
(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-04-30 * More cleanupdos-reis1-1/+1
2011-04-29 * boot/utility.boot (assocSymbol): New.dos-reis1-3/+4
(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.