gnu.expr
Class PushApply
Re-arranges ApplyExp where the function is a LetExp or BeginExp.
Optimizes ((let (...) body) . args) to (let (...) (body . args)).
Optimizes ((begin ... last) . args) to (begin ... (last . args)).
This helps optimize Scheme "named let" (and some other forms)
by making it more likely the application will be to a known procedure.
This optimization has to be done after Declarations are bound.
error, getColumn, getCompilation, getCurrentLambda, getFile, getLine, noteError, setColumn, setContext, setFile, setLine, setLine, walk, walkApplyExp, walkBeginExp, walkBlockExp, walkClassExp, walkDefaultArgs, walkExitExp, walkExpression, walkExps, walkExps, walkFluidLetExp, walkIfExp, walkLambdaExp, walkLangExp, walkLetExp, walkModuleExp, walkObjectExp, walkQuoteExp, walkReferenceExp, walkScopeExp, walkSetExp, walkSynchronizedExp, walkThisExp, walkTryExp |
pushApply
public static void pushApply(Expression exp)