![]() | プログラミング in OCaml 〜関数型プログラミングの基礎からGUI構築まで〜 五十嵐淳 技術評論社 2014-12-09 ¥ 2780(Kindle版 ¥ 1,512) |
| 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 シェルバッファでのコマンド |