Age | Commit message (Collapse) | Author | Files | Lines |
|
(getArgumentMode): Tidy.
(hasSigInTargetCategory): Likewise.
(refineDefinitionSignature): New. Abstract from
compDefineCapsuleFunction.
(compDefineCapsuleFunction): Use it. Tidy.
|
|
|
|
(localOperation?): New.
(compDefineCapsuleFunction): Increment $suffix. Check for local
and exported function definition here.
(compile): Move capsule-local function processing out.
|
|
* interp/functor.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/topics.boot: Likewise.
* interp/trace.boot: Likewise.
|
|
parameter as a DB. Adjust caller.
(NRTsubstDelta): Tidy.
|
|
LookUpSigSlots. Tidy. Adjust caller.
(makeMissingFunctionEntry): Remove as unused.
|
|
(compDefineFunctor1): Do not bind it.
(reportOnFunctorCompilation): Do not call displayMissingFunctions.
(displayMissingFunctions): Remove as useless.
* interp/functor.boot (SetFunctionSlots): Do not set slot in the
first vector of $catvecList.
* interp/nruncomp.boot (buildFunctor): Remove makeCatvecCode,
emptyVector, domainShell. Do not call NRTcheckVector.
(NRTcheckVector): Remove as useless.
|
|
the values in the first vector in $catvecList. It is pointless.
|
|
(LookUpSigSlots): Tidy.
|
|
Adjust callers.
(compDefineFunctor1): Do not bind $functionLocations.
(compDefineCapsuleFunction): Do not update.
* interp/lisplib.boot (transformOperationAlist): Do not consult
$functionLocations.
|
|
nruncomp.boot. Rename from NRTassignCapsuleFunctionSlot. Take
first parameter as a DB. Adjust callers.
(compDefineCapsuleFunction): Tidy.
|
|
Adjust callers.
* interp/compiler.boot: Adjust.
* interp/define.boot: Likewise.
|
|
accordance with documented abstract structure.
|
|
(evaluateFormAsType): Handle builtin constructor instantiations.
|
|
(SigListUnion): Likewise. The last argument is not a vector buffer.
(JoinInner): Use a vector buffer for scratch space to compute the
initial principal ancestor. Simplify copy logic.
* interp/g-util.boot (mkBuffer): New.
(bufferData): New.
(buffeLength): Likewise.
(resizeBuffer): Likewise.
(bufferToVector): Likwise.
* lisp/core.lisp.in (mkVector): New. Export.
|
|
controlled by originalvector which has non-changing value false.
|
|
|
|
(SigListUnion): Take the principal ancestor
as third argument. Use it instead of $NewCatVec. Adjust caller.
(JoinInner): Do not bind $NewCatVec. Introduce local variable
principal. Tidy.
|
|
JoinInner.
(JoinInner): Call it.
|
|
(SigEqual): Remove.
(predicateImplies): Rename from PredImplies. Rework it to match
documentation. Adjust callers.
(CondAncestorP): Adjust arguments in call to predicateImplies.
(JoinInner): Likewise.
|
|
* interp/sys-driver.boot (%sysInit): Don't redefine. Reset
function binding.
|
|
|
|
* utils/storage.H: Revert accidental commit of unfinished changes.
|
|
(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.
|
|
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.
|
|
references to used entities.
|
|
argument as a DB for the current constructor. Adjust callers.
(compile): Likewise.
(spadCompileOrSetq): Likewise.
(compileConstructor): Likewise.
(compileConstructor1): Likewise.
|
|
* interp/c-util.boot: Likewise.
* interp/define.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/nrunfast.boot: Likewise.
* interp/showimp.boot: Likewise.
|
|
* interp/define.boot ($byteVec): Remove.
(getInfovecCode): Do not bind it.
(makeGoGetSlot): Take DB as first parameter. Adjust caller.
Update dbByteList.
(NRTmakeCategoryAlist): Adjust.
|
|
domain producing mapping variables.
(compWithMappingMode): Coerce constructors to function objets.
(compFormWithModemap): Constructor calls are direct calls.
Everything else is ordinary indirect call.
* interp/g-opt.boot (optCall): Handle function objects.
* interp/nruncomp.boot (NRTencode): Encode the elaboration of
atomic forms, not the source level form.
* testsuite/compiler/ctor-mapping.spad: New.
|
|
Implement ~. \/, and /\ instead.
* algebra/si.spad.pamphlet (SingleInteger): Likewise.
* algebra/pattern.spad.pamphlet (Pattern): Adjust.
* algebra/string.spad.pamphlet (CharacterClass): 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.
|
|
compilation starts.
* interp/lisplib.boot (writeLoadInfo): New.
(writeTemplate): Likewise.
(finalizeLisplib): Use it to write template.
|
|
Adjustt caller.
(incompleteFunctorBody): Likewise.
* interp/bc-matrix.boot: Use toString instead of STRINGIMAGE where
appropriate.
* interp/bc-solve.boot: Likewise.
* interp/bc-util.boot: Likewise.
* interp/br-con.boot: Likewise.
* interp/br-op1.boot: Likewise.
* interp/br-saturn.boot: Likewise.
* interp/c-doc.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/clam.boot: Likewise.
* interp/format.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-timer.boot: Likewise.
* interp/htsetvar.boot: Likewise.
* interp/i-funsel.boot: Likewise.
* interp/i-map.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-resolv.boot: Likewise.
* interp/i-special.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/i-util.boot: Likewise.
* interp/msg.boot: Likewise.
* interp/newfort.boot: Likewise.
* interp/parse.boot: Likewise.
* interp/pathname.boot: Likewise.
* interp/setvars.boot: Likewise.
* interp/showimp.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/trace.boot: Likewise.
|
|
|
|
called. Remove.
(getFunctorOpsAndAtts): Simplify.
(getSlotFromFunctor): Rework.
* interp/define.boot (getInfovecCode): Bind $byteVec and
$byteAddress here.
(compDefineFunctor1): Not here.
|
|
* interp/define.boot ($NRTslot1Info): Likewise.
(getInfovecCode): Add additional environment argument. Adjust caller.
Call NRTmakeSlot1Info here.
(NRTgetLookupFunction): Lose second and third arguments. They are
derivable from the DB argument. Adjust caller.
(compDefineFunctor1): Do not bind $NRTslot1Info.
(compDefineCapsuleFunction): Adjust.
(compile): Likewise.
* interp/i-syscmd.boot (compilerDoitWithScreenedLisplib):
Remove. Adjust caller.
* interp/nruncomp.boot (NRTmakeSlot1Info): Tak a DB argument.
Adjust caller.
(mkSlot1sublis): Remove.
|
|
|
|
* algebra/Makefile.in: Tidy.
|
|
|
|
environment. Adjust callers.
(compCategories1): Likewise.
(NewbFVectorCopy): Remove as deadcode.
(worthlessCode): Tidy.
(DescendCode): Take additional environment parameter. Adjust callers.
* interp/define.boot (isMacro): Simplify.
(wrapDomainSub): Remove. Adjust callers.
* algebra/Makefile.in (strap-2/%.$(FASLEXT)): Fix typo.
|
|
(loadLib): Exit early on builtin constructors.
(loadDB): Likewise.
|
|
BOOT-LINE-STACK. Use try/finally to ensure streams are closed.
* interp/spad.lisp (New,ENTRY,2): Use parseNewExpr.
* interp/util.lisp (string2SpadTree): Likewise.
|
|
* interp/define.boot (NRTmakeCategoryAlist): Use it.
(compDefineFunctor1): Likewise.
|
|
* interp/compiler.boot (bindPredicateExistentials): Rename from
constructorCondition. Now return a substitution on success,
otherwise failure.
(solveEquation): New.
(solveSubsumption): Likewise.
(deduceImplicitParameters): Likewise.
(evaluateConstructorModemap): Use it. Tidy.
|
|
validate modemap evaluation.
(evalMmGuard): New.
(evalMmCat): Do not call orderMmCatStack here. The stack is
already ordered by evalMmGuard, sole caller.
(hasCate): Handle domain query variables.
(unifyStruct): Call unifyQueryStruct for query variables.
(unifyQueryStruct): New.
* interp/g-util.boot (postComposeSubst): New.
(queryVar?): Likewise.
|
|
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.
|