執筆者らによるサイトは以下になります。サポートサイトも併設しておりますので参照してください。
「入門OCaml(ISBN978-4-8399-2311-2)」のサンプルコードを提供いたします。
* ZIP形式でアーカイブ化しておりますので、対応ソフトで展開してください。readme.txt を参照してください。
*2 7、8章の一部のサンプルは、http://www.itpl.co.jp/ocaml/でも配布しておりますが、本サイトで配布しているものにも(対象の章のフォルダに)同じものが収録されております。
*3 2007年7月3日に以下の記述の追加を行い、再アーカイブ化しました。
「c3_1.txt」(* 101p *)における、関数合成 $ に関する定義
「c6_5.txt」(* 182p *)における、create関数の実行例
「c7_224_225p.txt」(* 225p *)における、map関数実行前のidの定義
ページ | 箇所 | 誤 | 正 | 備考 |
---|---|---|---|---|
055 | 無限ループ | while true do let line = read_line () in print_string line done |
while true do let line = read_line () in print_string line done;; | 1刷 |
092 | 「クロージャ」下より6行目 | 無名関数(fun x - t x *. rate) | (fun x -> x *. rate) | 1刷 |
093 | 11行目 | (fの型は(f : unit - t 'a)となります) | (f : unit -> 'a) | 1刷 |
100 | 下より9行目 | Array StoreException | ArrayStoreException | 1刷 |
162 | ページ中段 | 「型検査を通過することができれば *) 」に相当する脚注がない | 『*) Java等の感覚で言うところの「コンパイルに成功すれば」』 | 1刷 |
168 | raise:exn→'aの実行例 | # exception Hoge;; # raise Hoge;; exception Hoge |
# exception Hoge;; exception Hoge # raise Hoge;; Exception: Hoge. | 1刷 |
182 | create:int→('a,'b) tの実行例 | let hash = Hashtbl.create 10;; | # Hashtbl.create 10;; | 1刷 |
236 | モナド用拡張構文 | perfom with .. | perform with .. | 1刷 |
094ページ:実行画面の文字化けは、125ページ脚注の手順で独自プリンタをインストールすると解消されます。
101ページ:(* かなり複雑な例 *) の実行前に、次の関数合成の中置演算子 $ を定義してください。
# let ($) f g x = f (g x);;
関数合成の $ については、書籍の90、224ページを参照。
225ページ:# List.map id (List.map id (List.map id [1; 2; 3]));; の実行前に次のidの定義をしてください。
# let id x = x;;
記載のURLは、2007年4月現在のものです。
発行:株式会社 毎日コミュニケーションズ
・ダウンロード可能なプログラムコードの使用により発生したいかなる損失や損害、その他いかなる事態についても、弊社および著作権者、各ソフトウェアの製作・提供者は責任を負いかねます。