Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
(optDeltaEntry): Implement better patch for last change.
* interp/compiler.boot (compFormWithModemap): Undo last change.
|
|
(compWithMappingMode): Likewise.
(compUnnamedMapping): Likewise.
(extractCode): Simplify.
* interp/g-opt.boot (optClosure): New. Register.
(semiSimpleRelativeTo?): An abstraction is always semisimple.
* interp/nruncomp.boot ($killOptimizeIfTrue): Remove.
(optDeltaEntry): Don't test for it.
|
|
|
|
* interp/lisp-backend.boot (expandApply): Remove.
Unregister expander.
* interp/g-opt.boot (optCall): applyFun is not longer an opcode.
Look for %apply.
* interp/compiler.boot (applyMapping): Generate ['%call,['%apply,.]]
form, not ['%apply,..] form.
(extractCodeAndConstructTriple): Tidy.
(compApplication): Likewise.
|
|
constructors.
* algebra/syntax.spad.pamphlet: Miscellaneous cleanup.
|
|
(mkCategoryPackage): Use it.
(compMakeCategoryObject): Likewise.
* interp/nruncomp.boot (NRTsetVector4a): Likewise.
|
|
* 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.
|
|
(optimize!): Likewise. Abstract from optimizeFunctionDef.
(optimize): New.
(optimizeFunctionDef): Use optimize!.
(simplifyVMForm): Do not call optIF2COND.
(optIF2COND): Remove.
* interp/compiler.boot (compHasFormat): Use optimize! in lieu of
simplifyVMForm.
* interp/nruncomp.boot (NRTencode): Use optimize.
(NRTsetVector4a): Likewise.
|
|
* interp/define.boot (compDefineCategory2): Likewise.
* interp/nruncomp.boot (buildFunctor): Likewise.
* interp/slam.boot (compileRecurrenceRelation): Likewise.
* interp/lisp-backend.boot (expandSeq): Use PROGN in absence of EXIT.
|
|
forms too.
|
|
* interp/compiler.boot (canReturn): Handle %lambda forms.
(compUnnamedMapping): Generate %lambda forms. Don't optimize them
yet.
* interp/g-opt.boot: %lambda forms are side-effect free.
* interp/lisp-backend.boot: Translate them.
|
|
computation it if is the expanded form of the current domain.
|
|
* interp/nruncomp.boot (deltaTran): assocIndex now handles $.
(getLocalIndex): Likewise.
(NRTencode): Handle $ before calling assocIndex.
(assocIndex): Handle $.
|
|
if it is the domain of computation.
|
|
signature too.
* interp/nruncomp.boot (genDeltaEntry): Likewise.
(getLocalIndex): Tidy.
(changeDirectoryInSlot1): Tidy.
(vectorLocation): Add a kind of operation as fourth argument.
Adjust caller. Do not reconstruct the signature.
(NRTsubstDelta): Remove as no longer used.
|
|
Adjust callers.
|
|
NRTisExported?. Determine operation kind locally. Do not store
implement slot on the used entity list.
* interp/nruncomp.boot (genDeltaEntry): Likewise.
(deltaTran): Simplify.
(NRTisExported?): Remove.
(vectorLocation): Adjust.
|
|
separate arguments (operation and modemap). Adjust callers.
|
|
($NRTdeltaListComp): Likeewise.
(compDefineFunctor1): Do not bind them.
(assignCapsuleFunctionSlot): Use dbUsedEntities.
* interp/nruncomp.boot (NRTaddDeltaCode): Likewise.
(dbEntitySlot): New.
(NRTassocIndex): Use it.
(genDeltaEntry): Use dbUsedEntities.
(getLocalIndex): Likewise.
(vectorLocation): Likewise.
(NRTsubstDelta): Likewise.
|
|
* interp/c-util.boot (registerConstructor): New.
(currentConstructor): Likewise.
(makeCompilationData): Initialize dbEntityBuffer.
(dbEntityBuffer): New.
(dbUsedEntities): Likewise.
(dbEntityCount): Likewise.
* interp/compiler.boot: Adjust call to getLocalIndex, NRTassocIndex
* interp/define.boot: Likewise.
($NRTdeltaLength): Remove.
* interp/nruncomp.boot: Likewise.
|
|
parameter as a DB. Adjust caller.
(NRTsubstDelta): Tidy.
|
|
(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.
|
|
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.
|
|
* interp/c-util.boot: Likewise.
* interp/define.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/nrunfast.boot: Likewise.
* interp/showimp.boot: Likewise.
|
|
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.
|
|
* 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.
|
|
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.
|
|
Adjust callers.
(NRTdescendCodeTran): Likewise.
* interp/define.boot (makeDomainTemplate): Lose second argument.
Adjust callers.
(NRTgetLookupFunction): Take a DB as first argument. Adjust callers.
(NRTextendsCategory1): Likewise.
(extendsCategory): Likewise.
(compDefineFunctor1): Do not find $template. Set dbTemplate.
|
|
Set dbPredicates.
(compConLib1): Set dbPredicates to nil.
(compDefineLisplib): Likewise.
(finalizeLisplib): Write dbPredicates.
* boot/tokens.boot (copyTree): Do not translate.
* boot/utility.boot (topyTree): Implement. Export.
|
|
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.
|
|
* interp/setvart.boot: Remove setting of 'compiler' options.
* interp/setvars.boot (setAsharpArgs): Remove.
(describeAsharpArgs): Likewise.
(setInputLibrary): Likewise.
(setOutputLibrary): Likewise.
(describeInputLibraryArgs): Likewise.
(describeOutputLibraryArgs): 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.
|
|
$lisplibFunctions.
* interp/lisplib.boot: Remove $lisplibOpAlist.
* interp/nruncomp.boot: Likewise.
|
|
(newLookupInCategories1): Remove.
(newLookupInCategories): Do not call it.
* interp/define.boot ($isOpPackageName): Remove.
(compDefinFunctor1): Do not emit slot1 database info for category
defaulta.
($lisplibSlot1): Remove.
* interp/lisplib.boot: Likewise.
(finalizeLisplib): Do not write slot1 info.
|
|
* interp/define.boot (compDefineFunctor1): Tidy.
(compCapsuleInner): Add a DB first parameter. Adjust callers.
* interp/lisplib.boot (NRTgenInitialAttributeAlist): Likewise.
(simplifyAttributeAlist): Likewise.
* interp/nruncomp.boot (changeDirectoryInSlot1): Likewise.
(buildFunctor): Change first parameter to DB. Adjust caller.
|
|
argument. Adjust callers.
* interp/define.boot (NRTmakeCategoryAlist): Likewise.
* interp/functor.boot (ProcessCond): Likewise.
* interp/lisplib.boot (NRTgenFinalAttributeAlist): Likewise.
(predicateBitIndex): Likewise.
(predicateBitRef): Likewise.
(makePredicateBitVector): Likewise.
(transHasCode): Likewise.
|
|
($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.
|
|
Adjust callers.
(mkOr2): Likewise.
(mkAnd): Likewise.
(mkAnd2): Likewise.
(FindFundAncs): Likewise.
(CatEval): Likewise.
(AncestorP): Likewise.
(CondAncestorP): Likewise.
(DescendantP): Likewise.
* interp/compiler.boot (compMapCond): Likewise.
(compMapCond'): Likewise.
* interp/define.boot (formatPred): Likewise.
(formatInfo): Likewise.
(addInfo): Likewise.
(knownPred): Likewise.
* interp/functor.boot (InvestigateConditions): Likewise.
(ICformat): Likewise.
|
|
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.
|
|
(categoryAncestors): Likewise.
* interp/functor.boot (DescendCodeAdd): Tidy.
(DescendCodeVarAdd): Fix thinko. Iterator over $domainShell.
Don't pretend constants have ELT implementations.
* interp/nruncomp.boot (buildFunctor): Tidy.
|
|
CategoryDefaults.
* interp/define.boot (processFunctor): Fold into caller. Remove.
* interp/clam.boot (recordInstantiation1): Do not special case
CategoryDefaults and RepeatedSquaring.
* interp/functor.boot (DescendCode): Lose last argument, for it is
always $. Adjust body. Adjust caller.
* interp/nruncomp.boot (buildFunctor): $catNames should not be a
fluid variable. Rename to viewNames.
|
|
mkDomainFomer, setVector5, mkVectorWithDeferral): Remove as dead
codes.
|
|
(domainDirectory): Likewise.
(domainLookupFunction): Likewise.
(domainOperatorTable): Likewise.
(domainAttributes): Likewise.
(domainPredicates): Likewise.
(domainData): Likewise.
* interp/buildom.boot: Use new domain accessors.
* interp/functor.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/nrunfast.boot: Likewise.
|