generated at
R5RSマクロ

define-syntax syntax-rules を使う

lisp
(define-syntax <名前> (syntax-rules (<リテラル> ...) (<パターン> <テンプレート> ...))
名前
マクロの名前
パターンが問題なので、別に名前がズレていてもいいのか #??
そうする理由は特に思いつかないけど
リテラル
特殊なシンボルにマッチさせたい時に使うらしい
よくわかっていない #??
パターン
テンプレート
パターンにマッチしたら、テンプレートに変換される



lisp
(define-syntax when ; `when`という名前のマクロを定義 (syntax-rules () ; リテラルは、今回はスルー [(when test expr ...) ; `when test expr ...`という形を (if test (begin expr ...))] ; `(if ..)`に変換する ))
... というシンボルがある
初見、省略してんのかと思ってたmrsekut
expr ... というセットで見ればいい
expr ... は、 expr の0個以上の繰り返しを表す