aboutsummaryrefslogtreecommitdiff
path: root/src/interp
AgeCommit message (Collapse)AuthorFilesLines
2012-01-14 * interp/word.boot: Add import and scope statements. Include indos-reis7-50/+13
final executables. (infix?): Remove as duplicate in match.boot. (prefix?): Likewise. (suffix?): Likewise. * interp/g-error.boot (returnToTopLevel): Tidy. * interp/debug.lisp (/D-2): Use spadThrow in lieu of UNWIND. * interp/patches.lisp (CATCHALL): Remove. (DBRINIT): Likewise. (TOPLEVEL): Likewise. (TOP-LEVEL): Likewise. (UNWIND): Likewise. (RESUME): Likewise. (booFind): Likewise.
2012-01-14 * lisp/core.lisp.in (mkIntArray): New. Export.dos-reis6-94/+33
* interp/patches.lisp (/RF): Move to cparse.boot. (/RQ): Likewise. (/RQ,LIB): Likewise. (/RF-1): Likewise. (/EF): Move to spad.lisp. (construct): Remove. (READSPADEXPR): Likewise. (SHAREDITEMS): Likewise. (installStandardTestPackages): Likewise. (spadtestValueHook): Likewise. (testError): Likewise. ($TestOptions): Likewise. (rebuild): Likewise. ($ViewportProcessToWatch): Likewise. (setViewportProcess): Likewise. (waitForViewport): Likewise. * interp/i-analy.boot (pushDownOp?): Use mkIntArray in place of GETZEROVEC. * interp/i-funsel.boot (argCouldBelongToSubdomain): Likewise. * interp/i-intern.boot (flagArguments): Likewise.
2012-01-13 * interp/category.boot: Rename AncestorP to ancestor?.dos-reis3-18/+18
Rename DescendantP to descendant?. * interp/define.boot: Likewise. * interp/functor.boot: Likewise.
2012-01-12 * boot/tokens.boot (keywordId): New.dos-reis1-2/+2
* boot/parser.boot (bpSexpKey): Use it. * interp/i-map.boot (mapPredTran): Fix thinko.
2012-01-08 * boot/ast.boot (bfEnum): New.dos-reis1-2/+2
* boot/translator.boot (translateToplevel): Use it to translate enumeration definitions. * interp/types.boot (%ConstructorKind): Use new syntax.
2012-01-01 * interp/define.boot (evalCategoryForm): New.dos-reis2-6/+10
(mkCategoryPackage): Use it. (compMakeCategoryObject): Likewise. * interp/nruncomp.boot (NRTsetVector4a): Likewise.
2011-12-28 * interp/vmlisp.lisp (SORTBY): Remove.dos-reis11-31/+24
(QSORT): Likewise. * interp/c-util.boot (formal?): Rename from isFormal. Avoid POSITION. * interp/sys-utility.boot (sortBy): New. * interp/br-op1.boot: Use it. * interp/clam.boot: Likewise. * interp/define.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/showimp.boot: Likewise. * boot/tokens.boot: "<-" is now a token. * boot/ast.boot (bfKeyArg): New. (bfExpandKeys): Likewise. (bfApplication): Use it. * boot/parser.boot (bpKeyArg): New. (bpAssign): Use it. Parse named arguments.
2011-12-28 * boot/tokens.boot: Remove redundant renaming of REM.dos-reis6-12/+13
loopBody and loopExit are not selectors. * interp/i-output.boot: Include sys-utility. * interp/sys-utility.boot (last): New macro. (loopBody): Likewise. * interp/vmlisp.lisp (LASTNODE): Remove. (LASTPAIR): Likewise. (last): Do not define here.
2011-12-28 * boot/tokens.boot: Do not rewrite drop and take.dos-reis31-74/+60
* 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-28 * interp/g-opt.boot (coagulateWhenSeries): Simplify.dos-reis1-20/+9
(packWhen!): Likewise. (unnestWhen!): Tidy. (removeScope!): Handle %when forms.
2011-12-27 * interp/g-opt.boot (exitScope?): Now return an expression or nil.dos-reis1-6/+17
(cancelScopeLeave!): Tidy.
2011-12-27 * interp/g-opt.boot (changeVariableDefinitionToStore): Tidy.dos-reis1-8/+4
Remove handling of IF forms as no longer relevant. * algebra/matfuns.spad.pamphlet (MatrixLinearAlgebraFunctions) [rank]: Tidy.
2011-12-25 * interp/g-opt.boot (unnestWhen!): Recurse into more controldos-reis1-1/+7
structures.
2011-12-18 * interp/g-opt.boot (unnestWhen!): New.dos-reis1-8/+23
(packWhen!): Simplify. (optimize!): Run before changeVariableDefinitionToStore.
2011-12-18 * interp/g-opt.boot (removeScope!): New.dos-reis3-19/+12
(optimize!): Call it. (optimizeFunctionDef): Simplify.
2011-12-17 * interp/compiler.boot (compColon): Handle multiple declarationsdos-reis1-1/+2
properly.
2011-12-17 * interp/compiler.boot (finishVectorCollect): Rename fromdos-reis2-47/+51
optCollectVector. Move here. (compRepeatOrCollect): Use it.
2011-12-17 * interp/g-opt.boot (freeIteratorFirstValues): New.dos-reis2-25/+32
(cleanLoop!): Use it. * interp/lisp-backend.boot ($freeVarName): Remove. (loopVarInit): Do not generate initializer for free iterators. Adjust callers. (massageFreeVarInits): Remove. Adjust caller.
2011-12-17 * interp/compiler.boot (finishListCollect): New.dos-reis3-10/+13
(compRepeatOrCollect): Use it. * interp/g-opt.boot (optCollectVector): Likewise. * interp/lisp-backend.boot (expandCollect): Likewise.
2011-12-15 * interp/g-util.boot (prefixWalk!): New.dos-reis2-3/+11
* interp/g-opt.boot (cleanLoop!): Rename from removeLoopExitTag!. Adjust caller. Rewrite as a prefix walk.
2011-12-15 * interp/g-opt.boot (removeLoopExitTag!): New.dos-reis2-36/+18
(optimize!): Run it first. * interp/compiler.boot (nullifyTargetingLeaves): Remove. (massageLoop): Likewise. (compRepeatOrCollect): Don't call it anymore.
2011-12-15 * interp/compiler.boot: Rename %loop to %repeat. Propagate.dos-reis6-19/+19
* interp/g-opt.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-special.boot: Likewise. * interp/lisp-backend.boot: Likewise. * interp/slam.boot: Likewise.
2011-12-15 * interp/g-opt.boot (modified?): Tidy.dos-reis1-2/+8
2011-12-15 * interp/g-opt.boot (packWhen!): Tidy.dos-reis1-4/+6
2011-12-15 * interp/g-opt.boot (exitScope?): New.dos-reis1-2/+15
(packWhen!): Use it. (coagulateWhenSeries): Tidy. (cancelScopeLeave!): Likewise.
2011-12-14 * interp/g-opt.boot (removeNeedleesLeave): Remove.dos-reis1-18/+6
(optScope): Adjust. (removeLeave!): New. (optimize!): Run it at the very beginning.
2011-12-14misc cleanupdos-reis1-2/+0
2011-12-14fix miscdos-reis1-1/+1
2011-12-14 * interp/g-opt.boot (optSeq): Remove. Adjust callers.dos-reis2-10/+4
2011-12-13 * interp/g-opt.boot (replaceableTemporary?): Remove.dos-reis2-23/+5
(optSeq,getRidOfTemps): Likewise. (optSeq): Rewrite. * interp/slam.boot (compileRecurrenceRelation): Tidy.
2011-12-13 * interp/g-opt.boot (removeJunk!): Rename from removeSeq!dos-reis1-6/+19
(cancelScopeLeave!): New. (inlineLocals!): Tidy. (optimize!): Run cancelScopeLeave! right after removeJunk!.
2011-12-13 * interp/g-opt.boot: Rework. Schedule conditional splittingdos-reis1-5/+5
before changing %LETs to %stores. Run beta reduction and condtional splitting afterward, one more time. (optimizeFunctionDef): Simplify.
2011-12-12 * interp/g-opt.boot (packWhen!): Tidy.dos-reis1-6/+21
(spliceSeq!): New. (optimize!): Run splice! packWhen! twice.
2011-12-12 * interp/g-util.boot (liftAassignments!): New.dos-reis1-2/+13
(splitAssignments!): Use it. * algebra/multpoly.spad.pamphlet (SparseMultivariatePolynomial): Fix thinko.
2011-12-11 * interp/g-opt.boot (inlineLocals!): Single-used temporaries should go.dos-reis2-3/+9
(spliceSeqArgs): Splice sequences drapped in %scope cloths too.
2011-12-11 * interp/compiler.boot (compColon): Give initial %undefined valuedos-reis2-2/+6
to local variable declarations which are not definitions. * interp/lisp-backend.boot (expandToVMForm): Translate %undefined.
2011-12-10 * interp/g-opt.boot (optSeq): Remove splicePROGN as redundant.dos-reis5-12/+9
* interp/functor.boot (optFunctorBody): Generate %seq form, not PROGN. (DescendCode): Likewise. * interp/c-util.boot (displayComp): Fix thinko.
2011-12-10 * interp/g-opt.boot (optSeq): Remove seqToCOND as now redundantdos-reis1-8/+1
with packWhen!.
2011-12-10 * boot/parser.boot (bpArgtypeList): Accept mapping types.dos-reis3-5/+5
* boot/ast.boot (bfType): New. * boot/translator.boot (genDeclaration): Use it. * boot/utility.boot (every?): New. Export. (any?): Likewise. (takeWhile): Lilkewise.
2011-12-10 * interp/g-opt.boot (mkDefault): New.dos-reis1-3/+25
(coagulateWhenSeries): Likewise. (packWhen!): Likewise. Use them. (optimize!): Call it. Tidy.
2011-12-09 * interp/lisp-backend.boot (loopVarInit): Generate VM forms, not Lisp.dos-reis1-24/+23
(expandIN): Likewise. (expandON): Likewise. (expandSTEP): Likewise. (expandUNTIL): Likewise. (expandWHILE): Likewise. (expandSUCHTHAT): Likewise. (expandInit): Likewise. (expandIterators): Likewise. (massageFreeVarInits): Likewise. (expandLoop): optimize! then expand.
2011-12-09 * interp/g-opt.boot (packWehn!): New.dos-reis1-1/+13
(optimize!): Use it.
2011-12-08 * interp/g-opt.boot (tranformIF!): New.dos-reis3-17/+26
(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-08 * interp/g-opt.boot: %writeString, %writeNewline and %writeLinedos-reis1-4/+4
are side-effect full. (removeSeq!): Tidy. Skip side-effectfree statements.
2011-12-07 * interp/g-opt.boot (removeSeq!): New.dos-reis3-6/+43
(inlineLocals!): Likewise. (optimizeFunctionDef): Use them. (optSeq): Tidy. * interp/buildom.boot (seteltRecordFun): Tidy. * interp/clam.boot (compHash): Likewise.
2011-12-07 * interp/g-opt.boot (groupTranscients!): New.dos-reis2-1/+42
(reduceXLAM!): Likewise. (optimizeFunctionDef): Call them before simplifyVMForm. * interp/g-util.boot (mkSeq): New. (abstraction?): Likewise. (walkWith!): Likewise.
2011-12-07 * interp/compiler.boot (compReduce1): Tidy.dos-reis5-10/+14
* 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-06 * interp/compiler.boot (setqMultipleExplicit): Introduceddos-reis1-10/+9
temporary variables are local to the assignment.
2011-12-06 * interp/compiler.boot (compResolveCall): Update description.dos-reis1-47/+63
(compRetractGuard): Tidy. (compRecoverDomain): Likewise. (compRecoverGuard): Likewise. (compAlternativeGuard): Likewise. (compMatchAlternative): Likewise. (compMatch): Likewise.
2011-12-05 * interp/g-util.boot (splitAssignments): Rework.dos-reis1-4/+10
(spliceSeqArgs): Tidy. * algebra/gdpoly.spad.pamphlet (GeneralDistributedMultivariatePolynomial): Fix thinko.