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)