aboutsummaryrefslogtreecommitdiff
path: root/src/interp/g-opt.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/g-opt.boot')
-rw-r--r--src/interp/g-opt.boot8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/interp/g-opt.boot b/src/interp/g-opt.boot
index a859c67a..c92e326e 100644
--- a/src/interp/g-opt.boot
+++ b/src/interp/g-opt.boot
@@ -95,7 +95,7 @@ changeVariableDefinitionToStore(form,vars) ==
changeVariableDefinitionToStore(third form,vars')
vars
abstractionOperator? form.op =>
- changeVariableDefinitionToStore(third form,[:second form,:vars])
+ changeVariableDefinitionToStore(form.absBody,[:form.absParms,:vars])
vars
for x in form repeat
vars := changeVariableDefinitionToStore(x,vars)
@@ -180,8 +180,8 @@ simplifyVMForm x ==
atomic? x => x
x.op is 'CLOSEDFN => x
x.op isnt [.,:.] =>
- x is [op,vars,body] and abstractionOperator? op =>
- third(x) := simplifyVMForm body
+ symbol? x.op and abstractionOperator? x.op =>
+ x.absBody := simplifyVMForm x.absBody
x
if x.op is 'IF then
resetTo(x,optIF2COND x)
@@ -455,7 +455,7 @@ $VMsideEffectFreeOperators ==
%bitveccopy %bitvecconc %bitveclength %bitvecref %bitveceq %bitveclt
%before? %equal %sptreq %ident? %property %tref
%writeString %writeNewline %writeLine
- %void %retract %pullback)
+ %void %retract %pullback %lambda %closure)
++ List of simple VM operators
$simpleVMoperators ==