aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2009-06-28 07:12:27 +0000
committerdos-reis <gdr@axiomatics.org>2009-06-28 07:12:27 +0000
commit286834344cf9da4a6a4527728fbe09d8c6e425cd (patch)
tree22b05d6119c3a6bf3e24ad2475268ae1d7f00448 /src
parent956bc9cce88ce71cdb46e3ecb9d9e1c1753dc601 (diff)
downloadopen-axiom-286834344cf9da4a6a4527728fbe09d8c6e425cd.tar.gz
* interp/i-spec1.boot (checkForFreeVariables): Emit
getSimpleArrayEntry instead of ELT.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog5
-rw-r--r--src/interp/i-spec1.boot8
2 files changed, 9 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 0156f61d..679b2528 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2009-06-27 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * interp/i-spec1.boot (checkForFreeVariables): Emit
+ getSimpleArrayEntry instead of ELT.
+
2009-06-23 Gabriel Dos Reis <gdr@cs.tamu.edu>
* interp/bootlex.lisp (spad): Don't bind $noSubsumption.
diff --git a/src/interp/i-spec1.boot b/src/interp/i-spec1.boot
index a23aaffb..46416212 100644
--- a/src/interp/i-spec1.boot
+++ b/src/interp/i-spec1.boot
@@ -799,10 +799,10 @@ checkForFreeVariables(v,locals) ==
v="$$$" => v -- Placeholder for mini-vector
MEMQ(v,$boundVariables) => v
p := POSITION(v,$freeVariables) =>
- ["ELT","envArg",positionInVec(p,#($freeVariables))]
+ ["getSimpleArrayEntry","envArg",positionInVec(p,#($freeVariables))]
(locals = "ALL") or MEMQ(v,locals) =>
$freeVariables := [v,:$freeVariables]
- ["ELT","envArg",positionInVec(0,#($freeVariables))]
+ ["getSimpleArrayEntry","envArg",positionInVec(0,#($freeVariables))]
v
LISTP v =>
CDR(LASTTAIL v) => -- Must be a better way to check for a genuine list?
@@ -835,9 +835,9 @@ checkForFreeVariables(v,locals) ==
-- if we are in a lambda within another lambda.
newvar :=
p := POSITION(var,$freeVariables) =>
- ["ELT","envArg",positionInVec(p,#($freeVariables))]
+ ["getSimpleArrayEntry","envArg",positionInVec(p,#($freeVariables))]
$freeVariables := [var,:$freeVariables]
- ["ELT","envArg",positionInVec(0,#($freeVariables))]
+ ["getSimpleArrayEntry","envArg",positionInVec(0,#($freeVariables))]
["SETF",newvar,checkForFreeVariables(form,locals)]
error "Non-simple variable bindings are not currently supported"
op = "PROG" =>