www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

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:
Mprivate/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