Add #:define-splicing-syntax-class option
This commit is contained in:
parent
faade53994
commit
e5ed74dc61
|
@ -21,10 +21,16 @@
|
||||||
|
|
||||||
(define-syntax define-eh-alternative-mixin
|
(define-syntax define-eh-alternative-mixin
|
||||||
(syntax-parser
|
(syntax-parser
|
||||||
[(_ name ((~literal pattern) pat) ...)
|
[(_ name (~maybe #:define-splicing-syntax-class splicing-name)
|
||||||
#'(define-eh-mixin-expander name
|
((~literal pattern) pat) ...)
|
||||||
|
#`(begin
|
||||||
|
(define-eh-mixin-expander name
|
||||||
(λ (_)
|
(λ (_)
|
||||||
(quote-syntax (~or pat ...))))]))
|
(quote-syntax (~or pat ...))))
|
||||||
|
#,@(if (attribute splicing-name)
|
||||||
|
#'((define-splicing-syntax-class splicing-name
|
||||||
|
(pattern {~seq-no-order {name}})))
|
||||||
|
#'()))]))
|
||||||
|
|
||||||
(define-for-syntax (inline-or stx)
|
(define-for-syntax (inline-or stx)
|
||||||
(syntax-case stx ()
|
(syntax-case stx ()
|
||||||
|
@ -42,7 +48,7 @@
|
||||||
(syntax-case stx ()
|
(syntax-case stx ()
|
||||||
[(self pat ...)
|
[(self pat ...)
|
||||||
((λ (x) #;(pretty-write (syntax->datum x)) x)
|
((λ (x) #;(pretty-write (syntax->datum x)) x)
|
||||||
(let ()
|
(with-disappeared-uses
|
||||||
(define counter 0)
|
(define counter 0)
|
||||||
(define (increment-counter)
|
(define (increment-counter)
|
||||||
(begin0 counter
|
(begin0 counter
|
||||||
|
|
Loading…
Reference in New Issue
Block a user