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:
parent
87f76e94f7
commit
3311387201
|
@ -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 ...)))]
|
||||
|
|
Loading…
Reference in New Issue
Block a user