aboutsummaryrefslogtreecommitdiff
path: root/src/interp/g-opt.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-02-11 17:27:33 +0000
committerdos-reis <gdr@axiomatics.org>2011-02-11 17:27:33 +0000
commit8ecbf7e6da63799ae070e1b81a048a7b7790000f (patch)
tree85d031aba9ccbc72af13f53c9cb6aa61a9bf16f0 /src/interp/g-opt.boot
parentf14f1018fb9d94d4bff48e1475978b0a9deec0d1 (diff)
downloadopen-axiom-8ecbf7e6da63799ae070e1b81a048a7b7790000f.tar.gz
* interp/compiler.boot (canReturn): Don't check for LET*.
* interp/g-opt.boot (optLET*): Remove as we now generate only %bind forms.
Diffstat (limited to 'src/interp/g-opt.boot')
-rw-r--r--src/interp/g-opt.boot14
1 files changed, 2 insertions, 12 deletions
diff --git a/src/interp/g-opt.boot b/src/interp/g-opt.boot
index 797b50d8..fd5010a0 100644
--- a/src/interp/g-opt.boot
+++ b/src/interp/g-opt.boot
@@ -568,15 +568,6 @@ optLET u ==
def.rest := second def
SUBLIS(inits,body)
-optLET_* form ==
- form isnt ["LET*",:.] => form
- ok := true
- while ok for [[var,.],:inits] in tails second form repeat
- if CONTAINED(var,inits) then ok := false
- not ok => form
- form.first := "LET"
- optLET form
-
optBind form ==
form isnt ['%bind,inits,.] => form -- accept only simple bodies
ok := true
@@ -638,7 +629,7 @@ optCollectVector form ==
index := gensym()
iters := [:iters,['STEP,index,0,1]]
vec := gensym()
- ["LET",[[vec,["makeSimpleArray",["getVMType",eltType],vecSize]]],
+ ['%bind,[[vec,["makeSimpleArray",["getVMType",eltType],vecSize]]],
['%loop,:iters,["setSimpleArrayEntry",vec,index,body],vec]]
++ Translate retraction of a value denoted by `e' to sub-domain `m'
@@ -649,7 +640,7 @@ optRetract ["%retract",e,m,pred] ==
cond = '%true => e
["check-subtype",cond,MKQ m,e]
g := gensym()
- ["LET",[[g,e]],["check-subtype",substitute(g,"#1",pred),MKQ m,g]]
+ ['%bind,[[g,e]],["check-subtype",substitute(g,"#1",pred),MKQ m,g]]
--% Boolean expression transformers
@@ -763,7 +754,6 @@ opt2bool(x is ['%2bool,a]) ==
for x in '( (%call optCall) _
(SEQ optSEQ)_
(LET optLET)_
- (LET_* optLET_*)_
(%bind optBind)_
(%try optTry)_
(%not optNot)_