syntax-rulesは、R5RSで導入された衛生的マクロ(hygienic macro)である。衛生的なsyntax-rulesを使うことで、文脈に依存せず正しく動作するマクロを書くことができる。また、現実の問題として、R5RSで規格化されたマクロはsyntax-rulesしかないので、実装に依存しないマクロを書くためにsyntax-rulesを使う必要があるかもしれない。 純粋な衛生的なマクロは、伝統的なS式の変換によるマクロと比較して表現力が劣るが、それでも数多くのマクロを表現することができる。たとえば、伝統的マクロとして実装されているS式のパターンマッチマクロ match (Andrew Wrightのmatch) も、syntax-rulesのみを使った別実装がされている(Alex Shinn[1]による。) 衛生的マクロとは[編集] パターン変数[編集] キーワード[編集]