aboutsummaryrefslogtreecommitdiff
path: root/src/interp
AgeCommit message (Collapse)AuthorFilesLines
2011-11-26 * algebra/indexedp.spad.pamphlet: Avoid direct use or RPLACD.dos-reis3-5/+16
* algebra/poly.spad.pamphlet: Likewise. * interp/define.boot (spadCompileOrSetq): Tidy replacement info. * interp/i-output.boot ($BinaryOperators): New. (binaryInfix?): Tidy.
2011-11-26 * interp/nruncomp.boot (genDeltaEntry): Split first argument intodos-reis2-19/+18
separate arguments (operation and modemap). Adjust callers.
2011-11-26 * interp/c-util.boot (updateCapsuleDirectory): Simplify.dos-reis3-15/+9
* interp/define.boot (compDefineCapsuleFunction): Call it from here. * interp/functor.boot (DescendCode): Not here.
2011-11-26 * interp/define.boot ($NRTdeltaList): Remove.dos-reis2-43/+35
($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-reis5-119/+145
* 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-25 * interp/define.boot (processDefinitionParameters): New. Abstractdos-reis1-18/+16
from compDefineCapsuleFunction. (compDefineCapsuleFunction): Use it. Tidy.
2011-11-25 * interp/define.boot: Rearrange order of some definitions.dos-reis1-32/+38
(getArgumentMode): Tidy. (hasSigInTargetCategory): Likewise. (refineDefinitionSignature): New. Abstract from compDefineCapsuleFunction. (compDefineCapsuleFunction): Use it. Tidy.
2011-11-25 * interp/define.boot: Rearrange order of some definitions.dos-reis1-91/+89
2011-11-25 * interp/define.boot ($suffix): Remove toplevel declaration.dos-reis1-42/+36
(localOperation?): New. (compDefineCapsuleFunction): Increment $suffix. Check for local and exported function definition here. (compile): Move capsule-local function processing out.
2011-11-24 * interp/define.boot: Tidy.dos-reis6-8/+8
* interp/functor.boot: Likewise. * interp/g-util.boot: Likewise. * interp/slam.boot: Likewise. * interp/topics.boot: Likewise. * interp/trace.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/functor.boot (findOperatorImplementations): Rename fromdos-reis1-16/+7
LookUpSigSlots. Tidy. Adjust caller. (makeMissingFunctionEntry): Remove as unused.
2011-11-24 * interp/define.boot ($CheckVectorList): Remove.dos-reis3-55/+2
(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-23 * interp/functor.boot (SigSlotsMatch): Remove. Adjust caller.dos-reis1-13/+2
(LookUpSigSlots): Tidy.
2011-11-23 * interp/define.boot (compile): Take the signature as third argument.dos-reis2-18/+9
Adjust callers. (compDefineFunctor1): Do not bind $functionLocations. (compDefineCapsuleFunction): Do not update. * interp/lisplib.boot (transformOperationAlist): Do not consult $functionLocations.
2011-11-22 * interp/define.boot (assignCapsuleFunctionSlot): Move fromdos-reis2-23/+16
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-reis3-18/+17
Adjust callers. * interp/compiler.boot: Adjust. * interp/define.boot: Likewise.
2011-11-18 * interp/category.boot (FindFundAncs): Tidy. Access input indos-reis1-18/+19
accordance with documented abstract structure.
2011-11-17 * interp/i-eval.boot (evaluateType): Handle % and and signatures.dos-reis1-3/+7
(evaluateFormAsType): Handle builtin constructor instantiations.
2011-11-16 * interp/category.boot (mkCategory): Tidy.dos-reis2-44/+60
(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.
2011-11-16 * interp/category.boot (JoinInner): Remove effective dead codedos-reis1-28/+2
controlled by originalvector which has non-changing value false.
2011-11-15 * interp/category.boot (JoinInner): Use idiomatic Boot for loops.dos-reis1-77/+65
2011-11-14 * interp/category.boot ($NewCatVec): Remove.dos-reis1-94/+93
(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.
2011-11-14 * interp/category.boot (filterConditionalCategories): Split out ofdos-reis1-21/+34
JoinInner. (JoinInner): Call it.
2011-11-14 * interp/category.boot (SigListMember): Remove as deadcode.dos-reis1-24/+9
(SigEqual): Remove. (predicateImplies): Rename from PredImplies. Rework it to match documentation. Adjust callers. (CondAncestorP): Adjust arguments in call to predicateImplies. (JoinInner): Likewise.
2011-11-14 * lisp/core.lisp.in: Export %sysInit.dos-reis1-1/+1
* interp/sys-driver.boot (%sysInit): Don't redefine. Reset function binding.
2011-11-13 * interp/category.boot (JoinInner): Tidy.dos-reis1-28/+22
2011-11-13 * interp/sys-driver.boot (initializeDatabases): Honor --initial-db.dos-reis6-76/+77
(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.
2011-11-13 * interp/br-data.boot (buildLibdbConEntry): Exit early if argumentdos-reis4-11/+16
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.
2011-11-12 * interp/define.boot (getTargetFromRhs): Do not try to recorddos-reis1-2/+8
references to used entities.
2011-11-11 * interp/define.boot (compDefineCapsuleFunction): Take firstdos-reis1-23/+22
argument as a DB for the current constructor. Adjust callers. (compile): Likewise. (spadCompileOrSetq): Likewise. (compileConstructor): Likewise. (compileConstructor1): Likewise.
2011-11-11 * interp/br-data.boot: Change NRTEVAL to %eval.dos-reis6-11/+11
* 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/c-util.boot (dbByteList): New accessor macro.dos-reis2-12/+16
* interp/define.boot ($byteVec): Remove. (getInfovecCode): Do not bind it. (makeGoGetSlot): Take DB as first parameter. Adjust caller. Update dbByteList. (NRTmakeCategoryAlist): Adjust.
2011-11-11 * interp/compiler.boot (applyMapping): Emit special call fordos-reis4-6/+21
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-10 * interp/daase.lisp (dbLookupFunction): New accessor macro.dos-reis4-17/+21
* 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.
2011-11-09 * interp/define.boot (compDefineFunctor1): Clear dbTemplate beforedos-reis2-1/+18
compilation starts. * interp/lisplib.boot (writeLoadInfo): New. (writeTemplate): Likewise. (finalizeLisplib): Use it to write template.
2011-11-09 * interp/define.boot (compFunctorBody): First argument is now a DB.dos-reis29-105/+104
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.
2011-11-08fix thinkosdos-reis2-2/+2
2011-11-07Fix thinkodos-reis1-1/+1
2011-11-07 * interp/lisplib.boot (isDomainForm): Tidy.dos-reis1-0/+1
2011-11-07 * interp/lisplib.boot (getConstructorOpsAndAtts): Fold content indos-reis2-15/+11
called. Remove. (getFunctorOpsAndAtts): Simplify. (getSlotFromFunctor): Rework. * interp/define.boot (getInfovecCode): Bind $byteVec and $byteAddress here. (compDefineFunctor1): Not here.
2011-11-07 * interp/compiler.boot ($compileOnlyCertainItems): Remove.dos-reis4-78/+15
* 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-06 * interp/c-doc.boot (checkBalance): Fix a latent logic bug.dos-reis1-15/+12
* algebra/Makefile.in: Tidy.
2011-11-04 * interp/functor.boot (compCategories): Take second parameter asdos-reis3-39/+27
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-11-02 * interp/lisplib.boot (findModule): Tidy.dos-reis1-2/+8
(loadLib): Exit early on builtin constructors. (loadDB): Likewise.
2011-11-02 * interp/spad-parser.boot (parseSpadFile): Use $lineStack notdos-reis3-37/+36
BOOT-LINE-STACK. Use try/finally to ensure streams are closed. * interp/spad.lisp (New,ENTRY,2): Use parseNewExpr. * interp/util.lisp (string2SpadTree): Likewise.
2011-11-02 * interp/c-util.boot (dbSubstituteAllQuantified): New.dos-reis2-5/+9
* interp/define.boot (NRTmakeCategoryAlist): Use it. (compDefineFunctor1): Likewise.
2011-11-02 Add compiler support for implicit parameters.dos-reis1-10/+86
* 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.
2011-10-31 * interp/i-funsel.boot (evalMmCond0): Tidy. Call evalMmGuard todos-reis2-9/+52
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.