- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2019-07-30T03:30:18+00:00","default:sagasite","sagasite")
[[OCaml]]
#norelated
#contents
* プログラミング in OCaml [#b8911e10]
#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="http://ecx.images-amazon.com/images/I/514UAD1nKsL._SL160_.jpg" 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>
}}
* 学習メモ [#b3e602b1]
|頁+行|章節|項目|日付|h
//| [[書名_p_L]] | | | |
* 目次 [#k98d9b27]
* 目次 [#zc710216]
はじめに
いろいろな式を評価してみよう
関数型言語の醍醐味:関数
少ない手間で型付けをする:多相性と型推論
再帰的多相的データ構造:リスト
データ構造をデザインする:レコードとヴァリアント
例外処理
書き換え可能なデータ構造と入出力を使った命令型プログラム
モジュールによるプログラムの構造化
バッチコンパイラと分割コンパイル
モジュール関数:ファンクター
OCamlの“O”:オブジェクト
ラベル付き引数とオプション引数
多相ヴァリアント
GUIライブラリ:LablTk
Case Study:お絵かきロジック
OCaml処理系などのインストール
OCaml Browserの使い方
ocaml‐modeの設定・使い方
| No. | 章 | 節 |h
| 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 シェルバッファでのコマンド |
* 出版社 [#t5a2e78e]
- プログラミング in OCaml 〜関数型プログラミングの基礎からGUI構築まで〜:書籍案内|技術評論社
http://gihyo.jp/book/2007/978-4-7741-3264-8
- プログラミング in OCaml ~関数型プログラミングの基礎からGUI構築まで
http://www.fos.kuis.kyoto-u.ac.jp/~igarashi/OCaml/