前処理としてチューリング完全な手続きが使えたらいろいろできるよね、てのが Lisp のマクロ。
で、そのマクロ用の言語として Lisp をそのまま流用するのが伝統的マクロのアプローチだけど、
一方で R5RS Scheme みたいにマクロ用の独自言語を用意するというアプローチもある。

>>445
別にマクロ手続きをコンパイルして実行してもいいのよ?