when anormalizing, never lift out identifiers from application expressions

The code used to avoid lifting identifier in more restricted circumstances,
but it seems safe to alway avoid that, which can lead to a lot
less lifting
This commit is contained in:
Robby Findler 2013-03-08 13:01:28 -06:00
parent 87f76e94f7
commit 3311387201

View File

@ -221,13 +221,7 @@
(define-syntax (mutator-app stx)
(syntax-case stx ()
[(_ e ...)
(local [(define (do-not-expand? exp)
(and (identifier? exp)
(or (free-identifier=? exp #'empty)
(free-identifier=? exp #'collector:set-first!)
(free-identifier=? exp #'collector:set-rest!)
(ormap (λ (x) (free-identifier=? x exp))
prim-ids))))
(local [(define (do-not-expand? exp) (identifier? exp))
(define exps (syntax->list #'(e ...)))
(define tmps
(generate-temporaries #'(e ...)))]