1 2 | "str" 42 |
1 2 3 | (define-macro (#%datum . X) #'(list X X)) 42 |
1 | (+ 42 -15) |
1 2 3 4 5 6 7 8 | (define-macro-cases m [(m ARG1) #''one] [(m ARG1 ARG2) #''two] [(m . ARGS) #`#,(length (syntax->list #'ARGS))]) (m foo) ; 'one (m foo 42) ; 'two (m foo 42 "yeah") ; 3 |
1 2 3 4 5 6 7 8 9 10 | (define-macro (m THING) (define datum (syntax->datum #'THING)) (cond [(number? datum) #'"wow!"] [else #'THING])) (m 99) (m "foo") (define x 42) (m x) |
1 2 3 4 5 6 | #lang br ;; smop ··· (module reader syntax/module-reader injunction) |