From e5ed74dc61f1bb65cf7237520efa8f2a98df3c9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Georges=20Dup=C3=A9ron?= Date: Mon, 5 Sep 2016 02:19:02 +0200 Subject: [PATCH] Add #:define-splicing-syntax-class option --- private/no-order.rkt | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/private/no-order.rkt b/private/no-order.rkt index f7227dc..0ccb9f9 100644 --- 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