Refactoring of the optimizer.

original commit: 0493e6f7623361a289989654d25deac19e552de6
This commit is contained in:
Vincent St-Amour 2010-07-22 17:48:44 -04:00
parent 69476bba24
commit 2ef2641a4d

View File

@ -35,10 +35,9 @@
(pattern e:dead-code-opt-expr #:with opt #'e.opt)
;; boring cases, just recur down
(pattern (#%plain-lambda formals e:opt-expr ...)
#:with opt #'(#%plain-lambda formals e.opt ...))
(pattern (define-values formals e:opt-expr ...)
#:with opt #'(define-values formals e.opt ...))
(pattern ((~and op (~or (~literal #%plain-lambda) (~literal define-values)))
formals e:opt-expr ...)
#:with opt #'(op formals e.opt ...))
(pattern (case-lambda [formals e:opt-expr ...] ...)
#:with opt #'(case-lambda [formals e.opt ...] ...))
(pattern (let-values ([ids e-rhs:opt-expr] ...) e-body:opt-expr ...)