For Gauche 0.9.5


Next: , Previous: , Up: マクロ   [Contents][Index]

5.3 伝統的なマクロ

Special Form: define-macro name procedure
Special Form: define-macro (name . formals) body …

変換子が procedure である大域マクロ name を定義します。 2番目のフォームは、以下のフォームの簡易記法です。

(define-macro name (lambda formals body …))

コンパイラが (name arg …) というフォームを見つけると、 arg … を引数として procedure を呼び出します。 procedure が戻ると、コンパイラは元のフォームの場所に返されたフォームを 挿入し、再度それをコンパイルします。


Next: , Previous: , Up: マクロ   [Contents][Index]