define-scoped-transformers.rkt (629B)
1 #lang racket 2 3 (require (for-syntax "scoped-transformers.rkt")) 4 5 (provide define-syntax-with-scoped-pre-transformers) 6 7 (define-syntax define-syntax-with-scoped-pre-transformers 8 (syntax-rules () 9 [(_ name ([stx-lens pre-transformer] ...) transformer-expr) 10 (define-syntax name 11 (with-scoped-pre-transformers transformer-expr 12 (list (list stx-lens pre-transformer) ...)))] 13 [(_ (name stx) ([stx-lens pre-transformer] ...) transformer-body ...) 14 (define-syntax-with-scoped-pre-transformers name 15 ([stx-lens pre-transformer] ...) 16 (lambda (stx) transformer-body ...))]))