Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
data structure directtly.
|
|
|
|
|
|
(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.
|
|
(makeConstructor): Likewise.
(makeInitialDB): Tidy.
* interp/daase.lisp (makeDB): Take two more parameters. Build a
%Constructor structure object too.
|
|
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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
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.
|
|
* interp/define.boot (mkEvalableCategoryForm): Use it. Tidy.
|
|
* 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.
|
|
* interp/define.boot (compDefine1): Avoid encodeItem when
symbolName is meant.
(mkRepititionAssoc): Move from functor.boot
(encodeItem): Likewise.
(getCaps): Likewise. Tidy.
(encodeFunctionName): Likewise.
|
|
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.
|
|
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.
|
|
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.
|
|
early on.
* interp/database.boot (modemapsFromCategory): Take a first
argument as a DB. Tidy. Adjust caller.
|
|
* 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.
|
|
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.
|
|
(interactiveModemapForm): Likewise.
(getDCFromSystemModemap): Likewise.
(getDomainFromMm): Likewise.
(getAllModemapsFromDatabase): Likewise.
(getModemapsFromDatabase): Likewise.
(getSystemModemaps): Likewise.
(getInCoreModemaps): Likewise.
(flattenSignatureList): Likewise.
|
|
* 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.
|
|
(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.
|
|
* 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.
|
|
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/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.
|
|
($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.
|
|
* interp/database.boot (loadDBIfnecessary): New.
(dbMutable?): Likewise.
* interp/lisplib.boot (finalizeLisplib): Record mutable property.
|
|
* 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.
|
|
(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
|
|
(dbNiladic?): Remove. Adjust users.
(WRITE-INTERP): Don't write NILADIC field.
|
|
getConstructorModemapFromDB. Adjust callers.
|
|
niladicConstructorFromDB. Use getConstructorFormFromDB.
Adjust callers.
|
|
* 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.
|
|
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.
|
|
|
|
|