aboutsummaryrefslogtreecommitdiff
path: root/src/interp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2010-05-23 22:26:42 +0000
committerdos-reis <gdr@axiomatics.org>2010-05-23 22:26:42 +0000
commit58d87a5f008107b6ddc93d3191c1ac9380e16e7b (patch)
tree849f29ff3669a96334b06a0945c87a819e1ec509 /src/interp
parentadae08d08eb4bc36aee21b26073071756d920108 (diff)
downloadopen-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/interp')
-rw-r--r--src/interp/i-spec1.boot12
1 files changed, 6 insertions, 6 deletions
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 :=