Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
And various cleanups.
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Don't call GETDATABASE to read the information. Rather, load the
generated code for the contructor. Discovered mode algebra dependencies.
|
|
|
|
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.
|