Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
finiteAggregate and shallowlyMutable.
* interp/daase.lisp (WRITE-COMPRESS): Do not push strings.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(makeConstructor): Likewise.
(makeInitialDB): Tidy.
* interp/daase.lisp (makeDB): Take two more parameters. Build a
%Constructor structure object too.
|
|
(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.
|
|
* 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.
|
|
(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.
|
|
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.
|
|
|
|
* 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.
|
|
(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.
|
|
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.
|
|
* 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.
|
|
* 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.
|
|
(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.
|
|
ATTRIBUTES selectors anymore.
* interp/database.boot (getConstructorPredicates): Rename from
getConstructorPredicatesFromDB. Adjust callers.
(getConstructorAttributes): Rename from getConstructorAttributesFromDB.
Adjust callers.
|
|
(writePredicates): Likewise.
(finalizeLisplib): Use them.
* interp/daase.lisp (squeezeCopy): New,
Use it in place of SQUEEZE.
|
|
* 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.
|
|
(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.
|
|
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
|
|
(dbBeingMacro?): New accessor.
(GETDATABASE): Tidy.
|
|
* interp/database.boot (loadDBIfnecessary): New.
(dbMutable?): Likewise.
* interp/lisplib.boot (finalizeLisplib): Record mutable property.
|
|
(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
|
|
database tables if algebra is not complete yet.
* interp/Makefile.in (${SAVESYS}): Simplify.
* algebra/Makefile.in (strap-stamp): Make the destination directory.
|
|
(dbNiladic?): Remove. Adjust users.
(WRITE-INTERP): Don't write NILADIC field.
|
|
getConstructorModemapFromDB. Adjust callers.
|
|
niladicConstructorFromDB. Use getConstructorFormFromDB.
Adjust callers.
|
|
(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.
|
|
* 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.
|
|
(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.
|
|
|
|
(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.
|