OCaml
出典: フリー百科事典『ウィキペディア(Wikipedia)』
OCaml (Objective Caml) は、フランスのINRIAが開発したMLの方言とその実装。もとは Caml という言語だったが、クラス宣言やオブジェクトの生成、継承などのオブジェクト指向的要素が追加されObjective Camlという名前になった。 もとの Caml は現在も caml-light という名前で配布されている。
関数型言語の一種だが、Haskellなどの純粋関数型言語と比べると、容易に破壊的な操作や命令的な記述をすることができること、デフォルトが遅延評価でないことなどの理由により、「純粋でない」関数型言語と言われる。
関数型言語であるので、破壊的操作なしに宣言的にプログラムを書くことができる。 OCaml は静的な型付け言語であるが、型推論の機能を持つため、たいていの場合は明示的に型を定義しなくても処理系がうまく推論してくれる。
他には、オブジェクト指向と関数型の両方を併せもつことが特徴的である。ただしそのため、オブジェクト指向を利用した破壊的操作を伴うプログラムがかなり容易に書けてしまう。また、 polymorphic variant という特殊なバリアント型が特徴的である。
処理系としての特徴は、関数型言語としてはかなり高速に動作することが挙げられる(C言語と互角程度と言われる)。
国内では極めてマイナーな言語であるが、フランスではプログラミングの教育などに用いられるケースもあり、それなりに知られているらしい。
[編集] 外部リンク
- The Caml language
- Caml 言語 INRIA内の日本語サイト
- OCaml プログラミング入門
- Akihito Nagata's Page
- OCaml.JP
カテゴリ: オブジェクト指向言語 | 関数型言語