1 2 | (module dsl-mod-name dsl/expander dsl-sexprs ···) |
1 2 | (module dsl-mod-name dsl/expander dsl-sexprs ···) |
1 2 | (module dsl-mod-name dsl/expander dsl-sexprs ···) |
1 2 3 | (module dsl-mod-name dsl/expander (#%module-begin ;; imported from `dsl/expander` dsl-sexprs ···)) |
1 2 3 4 5 | #lang br/quicklang (define-macro (dsl-module-begin EXPR ...) #'(#%module-begin ;; from `br/quicklang` EXPR ...)) (provide (rename-out [dsl-module-begin #%module-begin])) |
1 2 3 4 5 | #lang br (define-macro (mac THING) (println #'THING) #'(list THING THING)) (mac (list "foo" 42)) |
1 2 3 4 5 | #lang br (define-macro (mac THING) (println THING) ; error #'(list THING THING)) (mac (list "foo" 42)) |
1 2 3 4 | #lang br (define-macro (mac2 (LEFT 42 RIGHT)) #'(list LEFT RIGHT)) (mac2 ("foo" 42 "bar")) |
1 2 3 4 | #lang br (define-macro (mac3 NUM ...) #'(begin (* NUM 100) ...)) (mac3 10 42 325) |
1 2 3 4 5 6 | #lang br (define-macro (my-module-begin EXPR ...) #'(#%module-begin ···)) (provide (rename-out [my-module-begin #%module-begin])) |