Table of Contents
Chapter 1
1.1 関数型言語 ML と Objective Camlについて
1.1.1 Objective Caml の特徴
1.2 参考書,資料,マニュアル
1.3 環境設定
Chapter 2
2.1 インタラクティブコンパイラを使う
2.1.1 簡単な使い方
2.1.2 ディレクティブによるコンパイラへの指示
2.2 基本データ型と演算
2.2.1
unit
型
2.2.2
int
型
2.2.3
float
型
2.2.4
char
型
2.2.5
string
型
2.2.6
bool
型
2.2.7 型システムと安全性
2.2.8 練習問題
2.3 変数の束縛
2.3.1
let
宣言
2.3.2 環境と lexical scoping
2.3.3 練習問題
2.4 関数宣言
2.4.1 練習問題
Chapter 3 再帰による繰り返し
3.1 局所変数と
let
式
3.1.1 練習問題
3.2 構造のためのデータ型: 組
3.2.1 組を表す式
3.2.2 パターンマッチと要素の抽出
3.2.3 組を用いた関数
3.2.4 練習問題
3.3 再帰関数
3.3.1 簡単な再帰関数
3.3.2 関数適用と評価戦略
3.3.3 末尾再帰と繰り返し
3.3.4 より複雑な再帰
3.3.5 相互再帰
3.3.6 練習問題
Chapter 4 高階関数,多相性,多相的関数
4.1 高階関数
4.1.1 関数を引数とする関数
4.1.2 匿名関数
4.1.3 カリー化と関数を返す関数
4.1.4 Case Study: Newton-Raphson法
4.1.5 練習問題
4.2 多相性
4.2.1 let多相と値多相
4.2.2 多相型と型推論
4.2.3 Case Study: コンビネータ
4.2.4 練習問題
Chapter 5 再帰的多相的データ構造: リスト
5.1 リストの構成法
5.2 リストの要素へのアクセス:
match
式とリストパターン
5.3 リスト操作の関数
5.4 Case Study: ソートアルゴリズム
5.5 練習問題
Chapter 6 レコード型/ヴァリアント型とその応用
6.1 レコード型
6.2 ヴァリアント型
6.3 ヴァリアント型の応用
6.4 Case Study: 二分木
6.5 Case Study: 無限リスト
6.6 練習問題
Chapter 7 参照,例外処理,入出力
7.1 参照、更新可能レコードと配列
7.1.1 参照
7.1.2 更新可能レコード
7.1.3 配列
7.2 制御構造
7.3 例外処理
7.3.1 exception 宣言とraise 式
7.3.2 例外の検知
7.4 チャネルを使った入出力
7.5 Objective Caml の文法について補足
Chapter 8 単純なモジュールとバッチコンパイル
8.1 ライブラリモジュールの使い方
8.2 バッチコンパイラによる実行可能ファイルの生成