タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

lisp-family-programming-languageとmacroに関するnabinnoのブックマーク (1)

  • On Lisp --- リードマクロ

    LispのS式の生涯で重要な瞬間は3つ,すなわち読み込み時,コンパイル時,実行時だ. 関数を操れるのは実行時だ. マクロによりプログラムをコンパイル時に変換する機会が得られる. この章ではリードマクロを扱うが,これは読み込み時に機能するものだ. マクロ文字 Lispの基的思想に従い,リーダは大幅に制御することができる. リーダの動作は完全に実行中の変更が効く属性値と変数で制御できる. リーダは複数の段階でプログラムできる. 一番容易に動作を変更する方法は,新しいマクロ文字を定義することだ. マクロ文字とはLispのリーダから特別な扱いを要求する文字だ. 例えば小文字のaは普通は小文字のbと全く同じ扱いだが,開き括弧は少々異なる. 開き括弧はリストの読み込みが開始したことの印だ. そういった文字にはそれぞれ関数が関連付けられており, それがLispのリーダにその文字を読み込んだ際の指示を与

  • 1