プログラミング in OCaml > 第1章 はじめに
1.5 OCamlの歴史 †
OCamlはMLというプログラミング言語を祖先として発展してきたプログラミング言語です。
ML (Meta-Language) †
- ML (プログラミング言語) - Wikipedia
ML(えむえる、Meta-Language)は、関数型言語のひとつである。
現代風の関数型言語としては歴史が古いほうで、型推論機能などを持つが、デフォルトの評価戦略は遅延評価ではなく先行評価で、書き換えが可能なレコード型を持つなど、いわゆる「純粋関数型」でない特徴や機能を持つ。歴史
デイナ・スコットの提案したPPLAMBDAという論理体系を利用し、ロビン・ミルナーはLogic for Computable Functions (LCF) という証明のチェックや定理の自動証明をするシステムを実装した。
1973年に発足したEdinburgh LCFのプロジェクトにおいて、証明の道筋を関数として記述するためのメタ言語として開発されたのが、MLの最初であり、強い型付きの言語として設計された。
Edinburgh LCFとMLは、1975~76年にエディンバラ大学で実装された。
特に1980年代以降、汎用プログラミング言語として多数の機能やライブラリが追加されている。
ロビン・ミルナー †
- ロビン・ミルナー - Wikipedia
アーサー・ジョン・ロビン・ゴレル・ミルナー(Arthur John Robin Gorell Milner FRS、1934年1月13日 - 2010年3月20日)は、英国の計算機科学者。
通称はロビン・ミルナーまたはA・J・R・G・ミルナー。プリマスの近くに生まれ、ケンブリッジにて没す。
(via Robin Milner | British computer scientist | Britannica.com)
OCaml †
後に1980年代になって、ミルナーらによって標準的なMLとしてStandard MLが提案され、現在までにいくつかの処理系が開発されています。
一方、1980年代後半、フランスのINRIAでカテゴリカル抽象機械(categoricak abstract machine、通用CAM)という手法によるMLの実装方式が開発されました。その処理系がCamlと呼ばれるものです。
Camlは、1990年頃にザビエ・ルロワ(Xavier Leroy)によって、新しい実装方法が開発されてCaml Lightが誕生します。
その後、モジュール機構を導入したCaml Special Lightを経て1996年にオブジェクト指向機能が加わったOCamlがリリースされました。
ザビエ・ルロワ †
- Xavier Leroy - Wikipedia
Xavier Leroy (born March 15, 1968) is a French computer scientist and programmer.
He is best known for his role as a primary developer of the OCaml system.
He is Professor of software science at Collège de France.
(via Xavier Leroy - Home page https://xavierleroy.org/)