前書き 第1章 拡張可能なプログラミング言語 第2章 関数 第3章 関数プログラミング 第4章 ユーティリティ関数 第5章 返り値としての関数 第6章 表現としての関数 第7章 マクロ 第8章 いつマクロを使うべきか 第9章 変数捕捉 第10章 マクロのその他の落し穴 第11章 古典的なマクロ 第12章 汎変数 第13章 コンパイル時の計算処理 第14章 アナフォリックマクロ 第15章 関数を返すマクロ 第16章 マクロを定義するマクロ 第17章 リードマクロ 第18章 分配 第19章 クエリコンパイラ 第20章 継続 第21章 マルチプロセス 第22章 非決定性 第23章 ATNを使ったパージング 第24章 Prolog 第25章 オブジェクト指向Lisp 付録 パッケージ 後注 訳者後書き 索引 前書き 第1章 拡張可能なプログラミング言語 1.1 進化によるデザイン 1.2 ボトムア