そろそろ入門OCamlについて

読了して一週間経つんだけど、感想を書いていなかったので、簡単に。

本の構成は、文法、ライブラリの説明、実用プログラミングの例とつづき、普通の入門書という感覚でサクサク読める。

で、OCamlについて。買った日に書いた感想に、バグが少なくなりそうと書いたんだけど、本当にそう思う。コンパイルレベルではじけるエラーは、プログラムがそう書かないといけないために入りづらいと思う。静的な型の言語だけど、型推論のおかげで、そこまで大変にならないし。それに、OCamlのOが表しているように、オブジェクト指向で書けるので、Javaなどの人が、関数型の言語の最初の一歩としていいんじゃないかと思う。コンパイラがはいてくれるエラーも、僕の知っている関数型言語の処理系の中では、一番わかりやすいと思ったし。

ただ、Haskellにくらべると、書くことが煩雑すぎて大変だなぁと思った。
一番、衝撃を受けたのは、再帰の関数は、revと書いて再帰だと表明しなければいけないということ。関数型の言語は再帰が醍醐味の一つと思うんだけど、それを簡単に使えないのは面倒だなぁ。あと、型変数の表記のしかたとか、最後の引き数だけのパターンマッチの仕方とか、ちょっと僕には慣れないと思った。

何気に気になったのは、作者の一人がHaskellマスターらしく、最近流行りのπ計算もモナドでやっちゃうという紹介だったりもします。

入門OCaml ~プログラミング基礎と実践理解~

入門OCaml ~プログラミング基礎と実践理解~