aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2011-12-17 * interp/g-opt.boot (freeIteratorFirstValues): New.dos-reis3-25/+41
(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-reis4-10/+20
(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-reis3-3/+17
* 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-reis3-36/+26
(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-reis7-19/+28
* 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-reis2-2/+12
2011-12-15 * config/open-axiom.m4 (OPENAXIOM_DYNAMIC_MODULE_SUPPORT): Fixdos-reis2-2/+6
linker flags when building for Windows. * lisp/core.lisp.in: Do not require SB-SPROF or SB-POSIX on Windows.
2011-12-15 * interp/g-opt.boot (packWhen!): Tidy.dos-reis2-4/+10
2011-12-15 * interp/g-opt.boot (exitScope?): New.dos-reis2-2/+22
(packWhen!): Use it. (coagulateWhenSeries): Tidy. (cancelScopeLeave!): Likewise.
2011-12-14 * interp/g-opt.boot (removeNeedleesLeave): Remove.dos-reis2-18/+13
(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-reis3-10/+8
2011-12-13 * interp/g-opt.boot (replaceableTemporary?): Remove.dos-reis3-23/+12
(optSeq,getRidOfTemps): Likewise. (optSeq): Rewrite. * interp/slam.boot (compileRecurrenceRelation): Tidy.
2011-12-13 * interp/g-opt.boot (removeJunk!): Rename from removeSeq!dos-reis2-6/+26
(cancelScopeLeave!): New. (inlineLocals!): Tidy. (optimize!): Run cancelScopeLeave! right after removeJunk!.
2011-12-13 * interp/g-opt.boot: Rework. Schedule conditional splittingdos-reis2-5/+12
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-reis2-6/+27
(spliceSeq!): New. (optimize!): Run splice! packWhen! twice.
2011-12-12 * interp/g-util.boot (liftAassignments!): New.dos-reis3-3/+21
(splitAssignments!): Use it. * algebra/multpoly.spad.pamphlet (SparseMultivariatePolynomial): Fix thinko.
2011-12-11 * interp/g-opt.boot (inlineLocals!): Single-used temporaries should go.dos-reis4-3/+15
(spliceSeqArgs): Splice sequences drapped in %scope cloths too.
2011-12-11 * interp/compiler.boot (compColon): Give initial %undefined valuedos-reis3-2/+12
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-reis6-12/+16
* 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-reis2-8/+6
with packWhen!.
2011-12-10 * boot/parser.boot (bpArgtypeList): Accept mapping types.dos-reis12-34/+148
* 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-reis2-3/+32
(coagulateWhenSeries): Likewise. (packWhen!): Likewise. Use them. (optimize!): Call it. Tidy.
2011-12-09 * interp/lisp-backend.boot (loopVarInit): Generate VM forms, not Lisp.dos-reis2-24/+37
(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-reis2-1/+18
(optimize!): Use it.
2011-12-08 * interp/g-opt.boot (tranformIF!): New.dos-reis4-17/+39
(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-reis2-4/+10
are side-effect full. (removeSeq!): Tidy. Skip side-effectfree statements.
2011-12-07 * interp/g-opt.boot (removeSeq!): New.dos-reis4-6/+52
(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-reis3-1/+51
(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-reis6-10/+22
* 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-reis2-10/+14
temporary variables are local to the assignment.
2011-12-06 * interp/compiler.boot (compResolveCall): Update description.dos-reis2-47/+73
(compRetractGuard): Tidy. (compRecoverDomain): Likewise. (compRecoverGuard): Likewise. (compAlternativeGuard): Likewise. (compMatchAlternative): Likewise. (compMatch): Likewise.
2011-12-05 * interp/g-util.boot (splitAssignments): Rework.dos-reis3-5/+18
(spliceSeqArgs): Tidy. * algebra/gdpoly.spad.pamphlet (GeneralDistributedMultivariatePolynomial): Fix thinko.
2011-12-05 * interp/g-opt.boot (changeVariableDefinitionToStore): Separatelydos-reis3-5/+20
handle %bind and LET forms. * interp/g-util.boot (spliceSeqArgs): Recurse into %seq forms.
2011-12-04 * interp/compiler.boot (freeVarUsage): Handle %bind and LET.dos-reis2-2/+17
2011-12-04 * interp/g-util.boot (splitAssignments): New.dos-reis2-0/+16
(spliceSeqArgs): Use it.
2011-12-04 * interp/lisp-backend.boot (hasNoExit?): New.dos-reis2-2/+25
(expandSeq): Likewise. Use it. Expand %seq forms.
2011-12-03 * interp/compiler.boot: Use %seq in lieu of PROGN.dos-reis4-10/+32
* interp/g-util.boot (spliceSeqArgs): New. * interp/g-opt.boot (changeVariableDefinitionToStore): Call it before recursing on %seq forms.
2011-12-03 * interp/compiler.boot (setqMultiple): Handle lhs and rhs of typedos-reis5-12/+32
Cross instance. * interp/g-util.boot ($DomainNames): Include Cross. * interp/cattable.boot (genCategoryTable): Do not eval Cross. It is bogus to prepopulate the table with builtin functors anyway. * algebra/triset.spad.pamphlet (PolynomialSetUtilitiesPackage)[removeRedundantFactors]: Do not define `c' and `d' in conditional. Make the initializer conditional.
2011-12-03 * interp/nruncomp.boot (washFunctorBody) [clean]: Clean %whendos-reis2-0/+9
forms too.
2011-12-03 * interp/compiler.boot: Replace %labelled with %scope.dos-reis5-17/+24
* interp/define.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/g-util.boot: Likewise. Rename mkLabelled to mkScope.
2011-12-03 * interp/g-opt.boot (groupVariableDefinitions): Simplify a bit.dos-reis2-20/+20
(optimizeFunctionDef): Likewise. Change %LET to %store before simplification. (simplifyVMForm): Do not call changeVariableDefinitionToStore.
2011-12-03 * interp/g-util.boot (hasNoLeave?): Move from g-opt.boot.dos-reis4-23/+46
(mkLabelled): New. (mkBind): Likewise. * interp/g-opt.boot (groupVariableDefinitions): Use them. * algebra/aggcat.spad.pamphlet (ListAggregate) [merge!]: Declare local variables `r' and `s' before assigning to them.
2011-12-02 * interp/g-opt.boot (iteratorName): New.dos-reis2-6/+62
(changeLoopVarDefsToStore): Likewise. (changeVariableDefinitionToStore): Use it. Tidy. (groupVariableDefinitions): Tidy.
2011-12-02 * interp/buildom.boot (seteltRecordFun): Change EXIT to %exit.dos-reis6-15/+25
* interp/clam.boot (compHash):Likewise. * interp/g-opt.boot (changeVariableDefinitionToStore): Likewise. (jumpToToplevel?): Likewise. (groupVariableDefinitions): Likewise. (changeLeaveToExit): Likewise. (optLabelled): Likewise. (optSeq): Likewise. * interp/lisp-backend.boot: Translate %exit to EXIT.
2011-12-02 * interp/buildom.boot (setelt): Change SEQ to %seq.dos-reis7-26/+42
* interp/clam.boot (compHash): Likewise. * interp/compiler.boot (freeVarUsage): Likewise. (canReturn): Likewise. * interp/i-special.boot (compileIs): Likewise. * interp/g-opt.boot (changeVariableDefinitionToStore): Likewise. (jumpToToplevel?): Likewise. (groupVariableDefinitions): Likewise. (changeLeaveToExit): Likewise. (optLabelled): Likewise. (optSeq): Rename from optSEQ. Adjust callers. * interp/lisp-backend.boot: Translate %seq to SEQ.
2011-12-02 Fix SF/3448433dos-reis2-1/+6
* interp/br-util.boot (bcPred): Do not compare pred against a string.
2011-12-02 * interp/g-opt.boot (modified?): Examine the rhs too.dos-reis2-1/+6
2011-12-02 * interp/g-opt.boot (changeVariableDefinitionToStore): Handle SEQdos-reis3-4/+21
forms too. (groupVariableDefinitions): Handle %bind and %loop forms. * interp/lisp-backend.boot (expandLoop): Special code for case where there is explicit exit condition, for better pretty-printing.