#html{{
table border="0" cellpadding="5"><tr><td valign="top"><a href="https://www.amazon.co.jp/exec/obidos/ASIN/B00QRPI1AS/vertex9-22/" target="_blank"><img src="" border="0"></a></td><td> </td><td valign="top"><a href="https://www.amazon.co.jp/exec/obidos/ASIN/B00QRPI1AS/vertex9-22/" target="_blank">プログラミング in OCaml 〜関数型プログラミングの基礎からGUI構築まで〜</a><br>五十嵐淳<br>技術評論社<br>2014-12-09<br>¥ 2780(Kindle版 ¥ 1,512)</td></tr></table>
}}
No. | 章 | 節 |
1 | 第1章 はじめに | 1.1 この本の読み方 |
2 | 1.2 準備 | |
3 | 1.3 OCamlに関する情報源 | |
4 | 1.4 OCamlの特徴 | |
5 | 1.5 OCamlの歴史 | |
6 | 第2章 いろいろな式を評価してみよう | 2.1 対話式コンパイラ |
7 | 2.2 基本データ型とその演算 | |
8 | 2.3 変数束縛による定義 | |
9 | 第3章 関数型言語の醍醐味:関数 | 3.1 簡単な関数の定義 |
10 | 3.2 条件分岐と真偽値型bool | |
11 | 3.3 局所的変数束縛とlet式 | |
12 | 3.4 構造のためのデータ型:組 | |
13 | 3.5 再帰関数 | |
14 | 3.6 高階関数 | |
15 | 第4章 少ない手間で型付けをする:多相性と型推論 | 4.1 多相的関数とパラメトリック多相 |
16 | 4.2 型推論とlet多相 | |
17 | 4.3 Case Study:コンビネータ | |
18 | 4.4 練習問題 | |
19 | 第5章 再帰的多相的データ構造:リスト | 5.1 リストの構成法 |
20 | 5.2 リストの要素へのアクセス:match 式とリストパターン | |
21 | 5.3 リストを操作するさまざまな関数 | |
22 | 5.4 Case Study:整列アルゴリズム | |
23 | 5.5 練習問題 | |
24 | 第6章 データ構造をデザインする:レコードとヴァリアント | 6.1 レコード |
25 | 6.2 ヴァリアント | |
26 | 6.3 ヴァリアントの応用 | |
27 | 6.4 Case Study:二分木 | |
28 | 6.5 Case Study:無限列 | |
29 | 6.6 練習問題 | |
30 | 第7章 例外処理 | 7.1 オプション型による例外処理 |
31 | 7.2 raise式とtry式による例外処理 | |
32 | 7.3 exception宣言とexn型 | |
33 | 7.4 練習問題 | |
34 | 第8章 書き換え可能なデータ構造と入出力を使った命令型プログラム | 8.1 unit型 |
35 | 8.2 書き換え可能なデータ構造 | |
36 | 8.3 制御構造 | |
37 | 8.4 Case Study:参照を使ったデータ構造 ― キュー | |
38 | 8.5 チャネルを使った入出力 | |
39 | 8.6 練習問題 | |
40 | 第9章 モジュールによるプログラムの構造化 | 9.1 ライブラリ・モジュールの使い方 |
41 | 9.2 モジュール定義 | |
42 | 9.3 シグネチャを使った情報隠蔽と抽象データ型 | |
43 | 9.4 練習問題 | |
44 | 第10章 バッチコンパイラと分割コンパイル | 10.1 バッチコンパイラによる実行可能ファイルの作成 |
45 | 10.2 モジュール単位の分割コンパイル | |
46 | 10.3 システム周りの関数・モジュール | |
47 | 10.4 その他 | |
48 | 10.5 練習問題 | |
49 | 第11章 モジュール関数:ファンクター | 11.1 ライブラリモジュールのファンクターとファンクター適用 |
50 | 11.2 ファンクター定義 | |
51 | 11.3 ファンクターと情報隠蔽 | |
52 | 11.4 複数の引数をとるファンクター | |
53 | 11.5 練習問題 | |
54 | 第12章 OCamlの“O”:オブジェクト | 12.1 単純なクラス |
55 | 12.2 自分自身のメソッドを呼び出す | |
56 | 12.3 継承によるクラスの拡張 | |
57 | 12.4 オブジェクトのための型付け | |
58 | 12.5 より高度なクラス機能・型 | |
59 | 12.6 練習問題 | |
60 | 第13章 ラベル付き引数とオプション引数 | 13.1 ラベル付き関数を使う |
61 | 13.2 ラベル付き引数詳説 | |
62 | 13.3 オプション引数 | |
63 | 13.4 まとめ | |
64 | 第14章 多相ヴァリアント | 14.1 多相ヴァリアントの基本 |
65 | 14.2 関数定義の拡張 | |
66 | 14.3 再帰的関数と多相ヴァリアント | |
67 | 14.4 その他 | |
68 | 14.5 練習問題 | |
69 | 第15章 GUI ライブラリ:LablTk | 15.1 「銀行窓口」を作ってみる |
70 | 15.2 ウィジェットの紹介 | |
71 | 15.3 ウィジェットの配置:Tk.pack関数とPackモジュール | |
72 | 15.4 イベント処理の割り当て:bind | |
73 | 15.5 その他 | |
74 | 15.6 練習問題 | |
75 | 第16章 Case Study:お絵かきロジック | 16.1 お絵かきロジックとは? |
76 | 16.2 プログラム解説 | |
77 | 16.3 まとめ | |
78 | あとがき | |
79 | PPENDIX:A OCaml処理系などのインストール | A.1 Windows環境へのインストール |
80 | A.2 Linux環境へのインストール | |
81 | APPENDIX:B OCaml Browserの使い方 | B.1 エディタの起動法・使い方 |
82 | B.2 シェル(コンパイラ窓)の使い方 | |
83 | B.3 ライブラリブラウザの使い方 | |
84 | APPENDIX:C ocaml-modeの設定・使い方 | C.1 プログラム編集のためのコマンド |
85 | C.2 シェルバッファでのコマンド |