On Lisp

· 株式会社 オーム社
eBook
440
페이지
적용 가능
검증되지 않은 평점과 리뷰입니다.  자세히 알아보기

eBook 정보

Lispは近年、強力で実用的なプログラミング言語として見直されている。本書の原書である"On Lisp"は、Lispの強力さの源であるマクロのプログラミングを徹底的に解説する名著である。 本書は、野田開氏が著者Paul Graham氏の許諾を得て訳し、インターネットで公開していた日本語訳をもとに、さらなる推敲を加えて書籍として出版するもの。


前書き
第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 ca Change――姿かたちは変われども
25.2 素のLispによるオブジェクト
25.3 クラスとインスタンス
25.4 メソッド
25.5 補助メソッドとメソッド結合
25.6 CLOSとLisp
25.7 いつオブジェクトを使うのか
付録 パッケージ
後注
訳者後書き
索引

이 eBook 평가

의견을 알려주세요.

읽기 정보

스마트폰 및 태블릿
AndroidiPad/iPhoneGoogle Play 북 앱을 설치하세요. 계정과 자동으로 동기화되어 어디서나 온라인 또는 오프라인으로 책을 읽을 수 있습니다.
노트북 및 컴퓨터
컴퓨터의 웹브라우저를 사용하여 Google Play에서 구매한 오디오북을 들을 수 있습니다.
eReader 및 기타 기기
Kobo eReader 등의 eBook 리더기에서 읽으려면 파일을 다운로드하여 기기로 전송해야 합니다. 지원되는 eBook 리더기로 파일을 전송하려면 고객센터에서 자세한 안내를 따르세요.