1-1. 関数プログラミングとは

関数プログラミングをするということは、 関数型プログラム言語を知るということである。 現在広く使われている関数型プログラム言語には、主に以下の3種類がある。 以上のものは、関数型言語としての機能が主たるものであるが、 最近では、種々のプログラム言語に関数型の機能が取り込まれている。 たとえば、筑波大学の卒業生である、まつもとさんが作った Ruby のほか、 twitter の記述言語として有名になった Scala や、 ウェブブラウザでの標準的言語である JavaScript は、 オブジェクト指向言語をベースとして関数型言語の機能を取り込んだものになっている。

ここでは、最も代表的な関数型プログラム言語の1つとして、 OCaml を取りあげる。OCaml は ML というプログラム言語(の系統)の 1つであり、SML (Standard ML) に対抗して、フランス INRIA で開発されたプログラム言語である。 世界中で使われているプログラム言語であり、 下記のリンクからもわかるように、日本のプログラム言語の研究者の多くも使っている。

OCaml の資料

OCaml のチュートリアル的なテキストはインターネット上にもいくつかあるが、 日本語による入門的な書籍が2007年に3冊刊行された。 これらのうち、自分にとって読みやすそうな1冊を買うことを勧める。

また、無料のチュートリアルテキストもインターネット上にいくつもある。そのいくつかをあげる。 (この他にも多数あるので、自分で探してほしい。)

どの程度知っておくべきか?

OCaml言語は極めて面白い機能がたくさんあり、知れば知るほど楽しくなる。 第一歩として、この実験で必要になる範囲は以下のとおりである。 たったこれだけで大抵のことは書けてしまう、という点に関数プログラミングの偉大さがある。

逆に、今回の実験では必ずしも必要としない(知っておくと便利だが、 知らなくても何とかなる)範囲は以下の通りである。


トップ, 次へ.

亀山 幸義