aboutsummaryrefslogtreecommitdiff
path: root/src/interp/nruncomp.boot
AgeCommit message (Collapse)AuthorFilesLines
2013-06-15 * interp/nruncomp.boot (NRTsetVector4Part1): Add environment parameter.dos-reis1-10/+12
Adjust caller. (NRTsetVector4a): Likewise. Avoid special variable for environment. * boot/utility.boot: Add and export substSource, substTarget. * interp/define.boot: Use them.
2013-06-13avoid uses of special variables for environments.dos-reis1-14/+14
2013-06-01Cache category objects created at functor build time.dos-reis1-1/+2
2013-05-28 Remove $domainShell.dos-reis1-6/+5
2013-05-28Add DB parameter to compNoStackingdos-reis1-1/+1
2013-05-27Add DB parameters to finalization functions.dos-reis1-5/+5
2013-05-15 * interp/nruncomp.boot (NRTputInHead): Tidy.dos-reis1-15/+16
2013-05-11Fix opcode for references to domain-wide entitiesdos-reis1-4/+4
2012-02-27 * interp/nruncomp.boot (markOperation): New.dos-reis1-1/+6
(optDeltaEntry): Implement better patch for last change. * interp/compiler.boot (compFormWithModemap): Undo last change.
2012-02-26 * interp/compiler.boot (compTopLevel): Do not bind $killOptimizeIfTrue.dos-reis1-2/+0
(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.
2012-02-25 * interp/nruncomp.boot (genDeltaEntry): Fix thinko.dos-reis1-1/+1
2012-02-23 * interp/nruncomp.boot (genDeltaEntry): Replace applyFun with %apply.dos-reis1-1/+1
* 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.
2012-02-05 * interp/nruncomp.boot (getLocalIndex): Fast track niladicdos-reis1-1/+2
constructors. * algebra/syntax.spad.pamphlet: Miscellaneous cleanup.
2012-01-01 * interp/define.boot (evalCategoryForm): New.dos-reis1-2/+2
(mkCategoryPackage): Use it. (compMakeCategoryObject): Likewise. * interp/nruncomp.boot (NRTsetVector4a): Likewise.
2011-12-28 * boot/tokens.boot: Do not rewrite drop and take.dos-reis1-1/+1
* 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.
2011-12-08 * interp/g-opt.boot (tranformIF!): New.dos-reis1-3/+3
(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.
2011-12-07 * interp/compiler.boot (compReduce1): Tidy.dos-reis1-2/+2
* 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.
2011-12-03 * interp/nruncomp.boot (washFunctorBody) [clean]: Clean %whendos-reis1-0/+4
forms too.
2011-11-29 * boot/tokens.boot (absKind, absParms, absBody): New selectors.dos-reis1-2/+1
* 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.
2011-11-28 * interp/nruncomp.boot (genDeltaEntry): Use $ for the domain ofdos-reis1-0/+2
computation it if is the expanded form of the current domain.
2011-11-28 * interp/define.boot (encodeCatform): Handle $ here.dos-reis1-6/+4
* interp/nruncomp.boot (deltaTran): assocIndex now handles $. (getLocalIndex): Likewise. (NRTencode): Handle $ before calling assocIndex. (assocIndex): Handle $.
2011-11-28 * interp/nruncomp.boot (genDeltaEntry): Replace Rep with its valuedos-reis1-0/+2
if it is the domain of computation.
2011-11-27 * interp/define.boot (assignCapsuleFunctionSlot): Slot originaldos-reis1-33/+15
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.
2011-11-27 * interp/nruncomp.boot (assocIndex): Rename from NRTassocIndex.dos-reis1-13/+13
Adjust callers.
2011-11-26 * interp/define.boot (assignCapsuleFunctionSlot): Do not calldos-reis1-11/+5
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.
2011-11-26 * interp/nruncomp.boot (genDeltaEntry): Split first argument intodos-reis1-13/+12
separate arguments (operation and modemap). Adjust callers.
2011-11-26 * interp/define.boot ($NRTdeltaList): Remove.dos-reis1-37/+31
($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.
2011-11-26 * interp/br-con.boot (conOpPage1): Fix typo.dos-reis1-92/+90
* 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.
2011-11-24 * interp/nruncomp.boot (changeDirectoryInSlot1,sigloc): Add firstdos-reis1-12/+14
parameter as a DB. Adjust caller. (NRTsubstDelta): Tidy.
2011-11-24 * interp/define.boot ($CheckVectorList): Remove.dos-reis1-29/+1
(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.
2011-11-23 * interp/nruncomp.boot (NRTaddDeltaCode): Do not guard the loop bydos-reis1-3/+1
the values in the first vector in $catvecList. It is pointless.
2011-11-22 * interp/define.boot (assignCapsuleFunctionSlot): Move fromdos-reis1-15/+0
nruncomp.boot. Rename from NRTassignCapsuleFunctionSlot. Take first parameter as a DB. Adjust callers. (compDefineCapsuleFunction): Tidy.
2011-11-21 * interp/nruncomp.boot (getLocalIndex): Rename from NRTgetLocalIndex.dos-reis1-12/+11
Adjust callers. * interp/compiler.boot: Adjust. * interp/define.boot: Likewise.
2011-11-11 * interp/br-data.boot: Change NRTEVAL to %eval.dos-reis1-2/+2
* interp/c-util.boot: Likewise. * interp/define.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/showimp.boot: Likewise.
2011-11-11 * interp/compiler.boot (applyMapping): Emit special call fordos-reis1-1/+3
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.
2011-11-07 * interp/compiler.boot ($compileOnlyCertainItems): Remove.dos-reis1-8/+4
* 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.
2011-11-04 * interp/functor.boot (compCategories): Take second parameter asdos-reis1-2/+2
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.
2011-10-29 * interp/nruncomp.boot (NRTaddDeltaCode): Take a DB parameter.dos-reis1-14/+14
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.
2011-10-29 * interp/lisplib.boot (makePredicateBitVector): Take a DB argument.dos-reis1-1/+1
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.
2011-10-29 * interp/define.boot (getInfovecCode): Take a DB argument. Passdos-reis1-1/+1
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.
2011-10-29 * interp/nruncomp.boot (mkDomainCatName): Remove.dos-reis1-2/+0
* 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.
2011-10-03 * interp/comp.lisp: Remove.dos-reis1-4/+4
* interp/setvart.boot: Remove setting of 'compiler' options. * interp/setvars.boot (setAsharpArgs): Remove. (describeAsharpArgs): Likewise. (setInputLibrary): Likewise. (setOutputLibrary): Likewise. (describeInputLibraryArgs): Likewise. (describeOutputLibraryArgs): Likewise.
2011-10-03 Cleanup.dos-reis1-2/+2
2011-09-07 * interp/lisplib.boot (finalizeLisplib): Finalize documentaiondos-reis1-1/+1
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.
2011-09-07 * interp/nruncomp.boot (NRTaddInner): Use the dual signature.dos-reis1-3/+3
* 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.
2011-09-05 * interp/define.boot (compDefineFunctor1): Do not setdos-reis1-3/+3
$lisplibFunctions. * interp/lisplib.boot: Remove $lisplibOpAlist. * interp/nruncomp.boot: Likewise.
2011-09-05 * interp/nruncomp.boot (updateSlot1DataBase)e: Remove.dos-reis1-6/+0
(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.
2011-08-26 Remove $lisplibAttributes.dos-reis1-3/+5
* 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.
2011-08-25 * interp/compiler.boot (compHasFormat): Take environmentdos-reis1-2/+2
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.
2011-08-25 * interp/define.boot ($mutableDomain): Remove. Adjust users.dos-reis1-2/+2
($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.