Lines Matching +refs:expand +refs:syntax
4 (provide log-expand
5 log-expand*
6 log-expand...
7 ...log-expand)
9 (define-syntax log-expand...
10 (syntax-rules (lambda)
12 (let ([obs (expand-context-observer ctx)])
16 (define-syntax-rule (...log-expand obs [key arg ...] ...)
18 (call-expand-observe obs key arg ...)
21 (define-syntax log-expand*
22 (syntax-rules ()
24 (log-expand... ctx
27 (...log-expand obs [key arg ...] ...))))]
29 (log-expand* ctx #:when (not guard) [key arg ...] ...)]
31 (log-expand* ctx #:when #t [key arg ...] ...)]))
33 (define-syntax-rule (log-expand ctx key arg ...)
34 (log-expand* ctx #:when #t [key arg ...]))
36 (define (call-expand-observe obs key . args)
41 (error 'call-expand-observe "wrong arity for ~s: ~e" key args)))]
42 [else (error 'call-expand-observe "bad key: ~s" key)])
58 ;; - payloads should contain no artificial syntax objects (that is, they should
59 ;; only contain syntax objects from the input or that will be the basis for
74 (enter-begin-for-syntax . 0)
75 (exit-begin-for-syntax . 0)
119 (track-syntax . 3)
153 (prim-quote-syntax . 1)
160 (prim-begin-for-syntax . 1)