07015nam 2200445z 450 991014915980332120221215210205.04-274-80107-1(CKB)2560000000240095(JP-MeL)3000002645(MiAaPQ)EBC5348306(Au-PeEL)EBL5348306(CaPaEBR)ebr11545015(OCoLC)1031967166()3000002645(EXLCZ)99256000000024009520211007d2007 ||| |jpnur|n||||un|||txtrdacontentcrdamediacrrdacarrierOn Lisp [[OnLisp]]東京オーム社2007.3オンライン資料1件本文は日本語4-274-06637-1 表紙 -- 前書き -- 目次 -- 第1章 拡張可能なプログラミング言語 -- 1.1 進化によるデザイン -- 1.2 ボトムアッププログラミング -- 1.3 拡張可能なソフトウェア -- 1.4 Lispの拡張 -- 1.5 なぜ(またはいつ)Lispか -- 第2章 関数 -- 2.1 データとしての関数 -- 2.2 関数の定義 -- 2.3 関数を引数にする -- 2.4 属性としての関数 -- 2.5 スコープ -- 2.6 クロージャ -- 2.7 ローカル関数 -- 2.8 末尾再帰 -- 2.9 コンパイル -- 2.10 リストから作られる関数 -- 第3章 関数プログラミング -- 3.1 関数型のデザイン -- 3.2 命令型プログラミングの裏返し -- 3.3 関数型インタフェース -- 3.4 インタラクティブプログラミング -- 第4章 ユーティリティ関数 -- 4.1 ユーティリティの誕生 -- 4.2 抽象化への投資 -- 4.3 リストに対する操作 -- 4.4 検索 -- 4.5 マッピング -- 4.6 入出力 -- 4.7 シンボルと文字列 -- 4.8 密度 -- 第5章 返り値としての関数 -- 5.1 Common Lispは進化する -- 5.2 直交性 -- 5.3 関数の値のメモ化 -- 5.4 関数を合成する -- 5.5 Cdr部での再帰 -- 5.6 部分ツリーでの再帰 -- 5.7 いつ関数を作るべきか -- 第6章 表現としての関数 -- 6.1 ネットワーク -- 6.2 ネットワークのコンパイル -- 6.3 展望 -- 第7章 マクロ -- 7.1 マクロはどのように動作するか -- 7.2 バッククォート -- 7.3 単純なマクロの定義 -- 7.4 マクロ展開の確認 -- 7.5 パラメータリストの分配 -- 7.6 マクロのモデル -- 7.7 プログラムとしてのマクロ -- 7.8 マクロのスタイル -- 7.9 マクロへの依存 -- 7.10 関数からマクロへ -- 7.11 シンボルマクロ -- 第8章 いつマクロを使うべきか -- 8.1 他の手段では不可能なとき -- 8.2 マクロと関数どちらがよい? -- 8.3 マクロの応用例 -- 第9章 変数捕捉 -- 9.1 マクロ引数の捕捉 -- 9.2 自由なシンボルの捕捉 -- 9.3 捕捉はいつ起きるのか -- 9.4 適切な名前によって捕捉を避ける -- 9.5 事前評価によって捕捉を避ける -- 9.6 Gensymによって捕捉を避ける -- 9.7 パッケージによって捕捉を避ける -- 9.8 その他の名前空間における捕捉 -- 9.9 変数捕捉にこだわる理由 -- 第10章 マクロのその他の落し穴 -- 10.1 評価の回数 -- 10.2 評価の順番 -- 10.3 マクロ展開関数の副作用 -- 10.4 再帰 -- 第11章 古典的なマクロ -- 11.1 コンテキストの生成 -- 11.2 with-系マクロ -- 11.3 条件付き評価 -- 11.4 反復 -- 11.5 複数の値にわたる反復 -- 11.6 マクロの必要性 -- 第12章 汎変数 -- 12.1 汎変数という概念 -- 12.2 複数回の評価に関わる問題 -- 12.3 新しいユーティリティ -- 12.4 さらに複雑なユーティリティ -- 12.5 インバージョンを定義する -- 第13章 コンパイル時の計算処理 -- 13.1 新しいユーティリティ -- 13.2 例:Bezier曲線 -- 13.3 応用 -- 第14章 アナフォリックマクロ -- 14.1 アナフォリックな変種オペレータ -- 14.2 失敗 -- 14.3 参照の透明性 -- 第15章 関数を返すマクロ -- 15.1 関数の構築 -- 15.2 Cdr部での再帰 -- 15.3 部分ツリーでの再帰 -- 15.4 遅延評価 -- 第16章 マクロを定義するマクロ -- 16.1 省略 -- 16.2 属性 -- 16.3 アナフォリックマクロ -- 第17章 リードマクロ -- 17.1 マクロ文字 -- 17.2 マクロ文字のディスパッチング -- 17.3 デリミタ -- 17.4 いつ何が起きるのか -- 第18章 分配 -- 18.1 リストに対する分配.18.2 他の構造 -- 18.3 参照 -- 18.4 マッチング -- 第19章 クエリコンパイラ -- 19.1 データベース -- 19.2 パターンマッチングクエリ -- 19.3 クエリインタプリタ -- 19.4 束縛に関する制限 -- 19.5 クエリコンパイラ -- 第20章 継続 -- 20.1 Schemeの継続 -- 20.2 継続渡しマクロ -- 20.3 Code-WalkersとCPS変換 -- 第21章 マルチプロセス -- 21.1 プロセスの抽象化 -- 21.2 実装 -- 21.3 「早い」だけではないプロトタイプ -- 第22章 非決定性 -- 22.1 概念 -- 22.2 探索 -- 22.3 Schemeでの実装 -- 22.4 Common Lispでの実装 -- 22.5 カット -- 22.6 真の非決定性 -- 第23章 ATNを使ったパージング -- 23.1 背景 -- 23.2 形式的な説明 -- 23.3 非決定性 -- 23.4 ATNコンパイラ -- 23.5 ATNの例 -- 第24章 Prolog -- 24.1 概念 -- 24.2 インタプリタ -- 24.3 規則 -- 24.4 非決定性の必要性 -- 24.5 新しい実装 -- 24.6 Prologの機能の追加 -- 24.7 例 -- 24.8 コンパイルという言葉の意味 -- 第25章 オブジェクト指向Lisp -- 25.1 Plus 〓a Change---姿かたちは変われども -- 25.2 素のLispによるオブジェクト -- 25.3 クラスとインスタンス -- 25.4 メソッド -- 25.5 補助メソッドとメソッド結合 -- 25.6 CLOSとLisp -- 25.7 いつオブジェクトを使うのか -- 付録 パッケージ -- 後注 -- 訳者後書き -- 索引 -- 奥付.On Lisp880-04/$1プログラミング(コンピュータ)jlabsh880-05/$1プログラミング用言語ndlshプログラミング(コンピュータ)プログラミング用言語007.64njb/09JP-MeLBOOK9910149159803321On Lisp2991701UNINA