diff options
author | dos-reis <gdr@axiomatics.org> | 2010-05-23 22:26:42 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2010-05-23 22:26:42 +0000 |
commit | 58d87a5f008107b6ddc93d3191c1ac9380e16e7b (patch) | |
tree | 849f29ff3669a96334b06a0945c87a819e1ec509 /src | |
parent | adae08d08eb4bc36aee21b26073071756d920108 (diff) | |
download | open-axiom-58d87a5f008107b6ddc93d3191c1ac9380e16e7b.tar.gz |
* interp/i-spec1.boot (compileADEFBody): Establish a dynamic
binding for $freeVariables and $boundVariables.
(mkIterFun): Likewise.
(mkIterZippedFun): Likewise.
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 7 | ||||
-rw-r--r-- | src/interp/i-spec1.boot | 12 |
2 files changed, 13 insertions, 6 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 47d574d0..afa9f1a1 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,12 @@ 2010-05-23 Gabriel Dos Reis <gdr@cs.tamu.edu> + * interp/i-spec1.boot (compileADEFBody): Establish a dynamic + binding for $freeVariables and $boundVariables. + (mkIterFun): Likewise. + (mkIterZippedFun): Likewise. + +2010-05-23 Gabriel Dos Reis <gdr@cs.tamu.edu> + * boot/tokens.boot: gensym is now candidate for renaming. * boot/ast.boot: Replace GENSYM with gensym. * interp/buildom.boot: Likewise. diff --git a/src/interp/i-spec1.boot b/src/interp/i-spec1.boot index e87b8190..b8799533 100644 --- a/src/interp/i-spec1.boot +++ b/src/interp/i-spec1.boot @@ -182,8 +182,8 @@ compileADEFBody(t,vars,types,body,computedResultType) == :declareUnusedParameters(parms,body)]] code := wrap compileInteractive fun else - $freeVariables := [] - $boundVariables := [minivectorName,:vars] + $freeVariables: local := [] + $boundVariables: local := [minivectorName,:vars] -- CCL does not support upwards funargs, so we check for any free variables -- and pass them into the lambda as part of envArg. body := checkForFreeVariables(body,"ALL") @@ -781,8 +781,8 @@ mkIterFun([index,:s],funBody,$localVars) == mkLocalVar($mapName,index) [m]:=bottomUpCompile funBody mapMode := ['Mapping,m,indMode] - $freeVariables := [] - $boundVariables := [index] + $freeVariables: local := [] + $boundVariables: local := [index] -- CCL does not support upwards funargs, so we check for any free variables -- and pass them into the lambda as part of envArg. body := checkForFreeVariables(getValue funBody,$localVars) @@ -919,8 +919,8 @@ mkIterZippedFun(indexList,funBody,zipType,$localVars) == mkLocalVar($mapName,$index) [m]:=bottomUpCompile funBody mapMode := ['Mapping,m,zipType] - $freeVariables := [] - $boundVariables := [$index] + $freeVariables: local := [] + $boundVariables: local := [$index] -- CCL does not support upwards funargs, so we check for any free variables -- and pass them into the lambda as part of envArg. body := |