Age | Commit message (Collapse) | Author | Files | Lines |
|
(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.
|
|
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.
|
|
* 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.
|
|
(packWhen!): Likewise.
(unnestWhen!): Tidy.
(removeScope!): Handle %when forms.
|
|
(cancelScopeLeave!): Tidy.
|
|
|
|
Remove handling of IF forms as no longer relevant.
* algebra/matfuns.spad.pamphlet
(MatrixLinearAlgebraFunctions) [rank]: Tidy.
|
|
(InnerMatrixLinearAlgebraFunctions) [rank]: Tidy.
|
|
structures.
|
|
[areEquivalent?]: Tidy.
|
|
(packWhen!): Simplify.
(optimize!): Run before changeVariableDefinitionToStore.
|
|
(optimize!): Call it.
(optimizeFunctionDef): Simplify.
|
|
properly.
|
|
optCollectVector. Move here.
(compRepeatOrCollect): Use it.
|
|
(cleanLoop!): Use it.
* interp/lisp-backend.boot ($freeVarName): Remove.
(loopVarInit): Do not generate initializer for free iterators.
Adjust callers.
(massageFreeVarInits): Remove. Adjust caller.
|
|
(compRepeatOrCollect): Use it.
* interp/g-opt.boot (optCollectVector): Likewise.
* interp/lisp-backend.boot (expandCollect): Likewise.
|
|
* interp/g-opt.boot (cleanLoop!): Rename from removeLoopExitTag!.
Adjust caller. Rewrite as a prefix walk.
|
|
(optimize!): Run it first.
* interp/compiler.boot (nullifyTargetingLeaves): Remove.
(massageLoop): Likewise.
(compRepeatOrCollect): Don't call it anymore.
|
|
* interp/g-opt.boot: Likewise.
* interp/i-map.boot: Likewise.
* interp/i-special.boot: Likewise.
* interp/lisp-backend.boot: Likewise.
* interp/slam.boot: Likewise.
|
|
|
|
linker flags when building for Windows.
* lisp/core.lisp.in: Do not require SB-SPROF or SB-POSIX on Windows.
|
|
|
|
(packWhen!): Use it.
(coagulateWhenSeries): Tidy.
(cancelScopeLeave!): Likewise.
|
|
(optScope): Adjust.
(removeLeave!): New.
(optimize!): Run it at the very beginning.
|
|
|
|
|
|
|
|
(optSeq,getRidOfTemps): Likewise.
(optSeq): Rewrite.
* interp/slam.boot (compileRecurrenceRelation): Tidy.
|
|
(cancelScopeLeave!): New.
(inlineLocals!): Tidy.
(optimize!): Run cancelScopeLeave! right after removeJunk!.
|
|
before changing %LETs to %stores. Run beta reduction and
condtional splitting afterward, one more time.
(optimizeFunctionDef): Simplify.
|
|
(spliceSeq!): New.
(optimize!): Run splice! packWhen! twice.
|
|
(splitAssignments!): Use it.
* algebra/multpoly.spad.pamphlet (SparseMultivariatePolynomial):
Fix thinko.
|
|
(spliceSeqArgs): Splice sequences drapped in %scope cloths too.
|
|
to local variable declarations which are not definitions.
* interp/lisp-backend.boot (expandToVMForm): Translate %undefined.
|
|
* interp/functor.boot (optFunctorBody): Generate %seq form, not PROGN.
(DescendCode): Likewise.
* interp/c-util.boot (displayComp): Fix thinko.
|
|
with packWhen!.
|
|
* boot/ast.boot (bfType): New.
* boot/translator.boot (genDeclaration): Use it.
* boot/utility.boot (every?): New. Export.
(any?): Likewise.
(takeWhile): Lilkewise.
|
|
(coagulateWhenSeries): Likewise.
(packWhen!): Likewise. Use them.
(optimize!): Call it. Tidy.
|
|
(expandIN): Likewise.
(expandON): Likewise.
(expandSTEP): Likewise.
(expandUNTIL): Likewise.
(expandWHILE): Likewise.
(expandSUCHTHAT): Likewise.
(expandInit): Likewise.
(expandIterators): Likewise.
(massageFreeVarInits): Likewise.
(expandLoop): optimize! then expand.
|
|
(optimize!): Use it.
|
|
(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.
|
|
are side-effect full.
(removeSeq!): Tidy. Skip side-effectfree statements.
|
|
(inlineLocals!): Likewise.
(optimizeFunctionDef): Use them.
(optSeq): Tidy.
* interp/buildom.boot (seteltRecordFun): Tidy.
* interp/clam.boot (compHash): Likewise.
|
|
(reduceXLAM!): Likewise.
(optimizeFunctionDef): Call them before simplifyVMForm.
* interp/g-util.boot (mkSeq): New.
(abstraction?): Likewise.
(walkWith!): 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.
|
|
temporary variables are local to the assignment.
|
|
(compRetractGuard): Tidy.
(compRecoverDomain): Likewise.
(compRecoverGuard): Likewise.
(compAlternativeGuard): Likewise.
(compMatchAlternative): Likewise.
(compMatch): Likewise.
|
|
(spliceSeqArgs): Tidy.
* algebra/gdpoly.spad.pamphlet
(GeneralDistributedMultivariatePolynomial): Fix thinko.
|
|
handle %bind and LET forms.
* interp/g-util.boot (spliceSeqArgs): Recurse into %seq forms.
|
|
|