Singleton optimization for sequences that would allocate.

This commit is contained in:
J. Ian Johnson 2012-11-28 13:05:17 -05:00 committed by Matthew Flatt
parent 15cbfa1947
commit 889f159103
2 changed files with 6 additions and 3 deletions

View File

@ -1725,7 +1725,8 @@
(define-sequence-syntax *in-list
(lambda () #'in-list)
(lambda (stx)
(syntax-case stx ()
(syntax-case stx (list)
[[(id) (_ (list expr))] #'[(id) (:do-in ([(id) expr]) #t () #t () #t #f ())]]
[[(id) (_ lst-expr)]
(for-clause-syntax-protect
#'[(id)
@ -1751,7 +1752,8 @@
(define-sequence-syntax *in-mlist
(lambda () #'in-mlist)
(lambda (stx)
(syntax-case stx ()
(syntax-case stx (mlist)
[[(id) (_ (mlist expr))] #'[(id) (:do-in ([(id) expr]) #t () #t () #t #f ())]]
[[(id) (_ lst-expr)]
(for-clause-syntax-protect
#'[(id)

View File

@ -308,7 +308,8 @@
(define-sequence-syntax *in-set
(lambda () #'in-set)
(lambda (stx)
(syntax-case stx ()
(syntax-case stx (set)
[[(id) (_ (set expr))] #'[(id) (:do-in ([(id) expr]) #t () #t () #t #f ())]]
[[(id) (_ st)]
#`[(id)
(:do-in