From 2ef2641a4d741c856a4be885f42e83642eb0a3f7 Mon Sep 17 00:00:00 2001 From: Vincent St-Amour Date: Thu, 22 Jul 2010 17:48:44 -0400 Subject: [PATCH] Refactoring of the optimizer. original commit: 0493e6f7623361a289989654d25deac19e552de6 --- collects/typed-scheme/optimizer/optimizer.rkt | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/collects/typed-scheme/optimizer/optimizer.rkt b/collects/typed-scheme/optimizer/optimizer.rkt index c0f3c08b..5f6f6c49 100644 --- a/collects/typed-scheme/optimizer/optimizer.rkt +++ b/collects/typed-scheme/optimizer/optimizer.rkt @@ -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 ...)