From 2605b6ba2749a90c55a7f49bb91d6f20f256a20e Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Wed, 21 Sep 2011 08:46:44 +0200 Subject: [PATCH] better pure-expression? * module/language/tree-il/optimize.scm (peval): Allow dynref, fix, and let-values to be pure expressions. --- module/language/tree-il/optimize.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/module/language/tree-il/optimize.scm b/module/language/tree-il/optimize.scm index 0567b0cfa..f69ce557e 100644 --- a/module/language/tree-il/optimize.scm +++ b/module/language/tree-il/optimize.scm @@ -320,6 +320,7 @@ it does not handle and , it should be called before (($ ) #t) (($ ) #t) (($ ) #t) + (($ _ fluid) (loop fluid)) (($ _ condition subsequent alternate) (and (loop condition) (loop subsequent) (loop alternate))) (($ _ ($ _ name) args) @@ -334,6 +335,10 @@ it does not handle and , it should be called before (and (every loop vals) (loop body))) (($ _ _ _ _ vals body) (and (every loop vals) (loop body))) + (($ _ _ _ vals body) + (and (every loop vals) (loop body))) + (($ _ exp body) + (and (loop exp) (loop body))) (_ #f)))) (define (mutable? exp)