OCamlのページ
| OCaml本の紹介 | 記事 | コード紹介 | links |
OCaml本を執筆しました
OCaml-Nagoyaのメンバーと共にOCaml本を執筆しました。
![]() |
入門OCaml プログラミング基礎と実践理解 OCaml-Nagoya 著 A5版 ISBN978-4-8399-2311-2 |
本書で解説した各プログラムの電子データを掲載しています。ダウンロードして参考にしてください。
バグトラックシステム完全版 : bdb.tar.gz
CSV読込みモジュール完全版 : csv.ml.txt
スレッドデーモン完全版 : daemon.ml.txt
正誤表
| ページ | 箇所 | (誤) | (正) |
|---|---|---|---|
| 第2章 - 言語の基礎 | |||
| p.55 | 無限ループ | while true do let line = read_line () in print_string line done |
while true do let line = read_line () in print_string line done;; |
| p.85 | 一番下のコード | val length1 : | val length : |
| p.92 | 「クロージャ」下より6行目 | 無名関数 (fun x - t x *. rate) | 無名関数 (fun x -> x *. rate) |
| p.93 | 11行目 | (fの型は(f : unit - t 'a)となります) | (fの型は(f : unit -> 'a)となります) |
| 第3章 - 型を理解する | |||
| p.100 | 下より9行目 | Array StoreException | ArrayStoreException |
| 第5章 - オブジェクト指向機能 | |||
| p.162 | ページ中段 | 「型検査を通過することができれば *) 」に相当する脚注がない | 『*) Java等の感覚で言うところの「コンパイルに成功すれば」』 |
| 第6章 - 標準ライブラリの利用 | |||
| p.168 | raise:exn→'aの実行例 | # exception Hoge;; # raise Hoge;; exception Hoge |
# exception Hoge;; exception Hoge # raise Hoge;; Exception: Hoge. |
| p.182 | create:int→('a,'b) tの実行例 | let hash = Hashtbl.create 10;; | # Hashtbl.create 10;; |
| p.194 | 12行目 | 'a Lazy.tの型が'a lazyl_t | 'a Lazy.tの型が'a lazy_t |
| 第8章 - OCamlあれこれ散策 | |||
| p.236 | モナド用拡張構文 | perfom with .. | perform with .. |
| 索引 | |||
| p.259 | た行 | 「高階関数」が た行にある | 「こうかいかんすう」なので か行 |
| p.259 | な行 | 「直和型」が な行にある | 「ちょくわがた」なので た行 |
| p.259 | な行 | 「中置演算子」が な行にある | 「ちゅうちえんざんし」なので た行 |
OCaml記事
Comming soon...[2007年5月] OCamlでシステム構築した感想 by 小笠原(ogasawara@itpl.co.jp)
弊社作成のコード紹介
-
CSVファイル読込モジュール [csv.ml.txt] [ドキュメント] last update 2007-05
OCaml本でも紹介したCSVファイル読込モジュールです。 区切り文字やエスケープ文字を自由に設定でき、巨大なファイルでも逐次読み込みながら処理ができます。 EUC-JP、Shift-JISエンコーディングの日本語にも対応。
-
カレンダーモジュール [calendar.ml.txt] [ドキュメント] last update 2007-05
日付型と文字列の相互変換、うるう年や休日判定などができる日付を取り扱うためのモジュール。Unix.tm型を利用しています。
-
EUC-JPをShift-JISへコンバート [eucjp.ml.txt] [ドキュメント] last update 2007-05
EUC-JPをShift-JISへコンバートする関数。まだ補助漢字はサポートしていないので注意 ;(
-
関数的なキュー [fqueue.ml.txt] [ドキュメント] last update 2007-05
Okasakiの論文を参照して書いた、副作用なし版のQueueモジュール。
-
並列ライブラリ(comming soon...)
チャンネル通信スタイルの並列計算用ライブラリ。ivar,mvar,mbox,multicast,timeoutなど便利な構造や関数を収録。 GCと連動して不要なスレッドは自動的に後始末してくれる仕組みも搭載。 現在鋭意アップデート中。
-
SQLインジェクションを防ぐ文字列変換 [coq_encode.v.txt] last update 2007-07
証明支援系 Coq を使って開発した文字列変換ライブラリ。エンコーディングやエスケーピングなどの文字列操作を形式化し、その安全性を数学的に証明しました。
実現例 → pdf資料:ラムダ日報(日報管理システム)
links
-
OCamlの本家サイトです。
-
名古屋で関数型言語を勉強している仲間です。
-
東北大学の住井先生によるML入門ページです。
-
OCamlの開発メンバーである、名古屋大学のガリグ先生のホームページです。
-
(有) ITプランニングのホームページです。
