commit e5ed74dc61f1bb65cf7237520efa8f2a98df3c9a parent faade53994a4853f4ac9e0a8bb09480f7ea7abcc Author: Georges Dupéron <georges.duperon@gmail.com> Date: Mon, 5 Sep 2016 02:19:02 +0200 Add #:define-splicing-syntax-class option Diffstat:
| M | private/no-order.rkt | | | 16 | +++++++++++----- |
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/private/no-order.rkt b/private/no-order.rkt @@ -21,10 +21,16 @@ (define-syntax define-eh-alternative-mixin (syntax-parser - [(_ name ((~literal pattern) pat) ...) - #'(define-eh-mixin-expander name - (λ (_) - (quote-syntax (~or pat ...))))])) + [(_ name (~maybe #:define-splicing-syntax-class splicing-name) + ((~literal pattern) pat) ...) + #`(begin + (define-eh-mixin-expander name + (λ (_) + (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) (syntax-case stx () @@ -42,7 +48,7 @@ (syntax-case stx () [(self pat ...) ((λ (x) #;(pretty-write (syntax->datum x)) x) - (let () + (with-disappeared-uses (define counter 0) (define (increment-counter) (begin0 counter