by shigemk2

当面は技術的なことしか書かない

マクロとマクロのタイプ

スペシャルフォームとマクロ - by shigemk2

マクロとは、S式からS式への展開規則である。
フォームが評価されるとき、またはバイトコンパイルされるとき、真っ先にマクロが展開される。
マクロによって展開されたコードにマクロが含まれていたら、それも再び展開する。
そして、すべてのマクロが展開されたとき、そのフォームにはスペシャルフォームだけが残る。

マクロのタイプ

マクロの用途は多種多様だが、大きく5つのタイプに分かれる

  • 変数代入(push)
  • 制御構造(when)
  • 関数定義(define-minor-mode)
  • 宣言(defcustom)
  • ミニ言語(rx, loop)

P180

Emacs Lispテクニックバイブル

Emacs Lispテクニックバイブル