1996年 ・ 関数型・オブジェクト指向・マルチ・その他
OCamlの歴史
ML の系統の Caml に、静的な型づけのまま使えるオブジェクトシステムを加えた言語。ネイティブコードコンパイラも備える。
- 年(初めて公開された年)
- 1996年
- 作った人
- Xavier Leroy、Jérôme Vouillon、Damien Doligez、Didier Rémy
- 組織
- INRIA(フランス)
- 系統
- 関数型・オブジェクト指向・マルチ・その他
年の決め方 Caml は1987年(INRIA)。オブジェクト指向を加えた Objective Caml が1996年に登場(ocaml.org)。
OCamlの祖先と子孫
影響元をたどれる言語1、影響先をたどれる言語7を描きました。点を押すとその言語のページに移ります。
全体の図は一覧の系統図にあります。
目指したこと
ML 流の多相型の型システムの中に、オブジェクト指向を完全に収めること。
“OCaml was written in 1996 by Xavier Leroy”
年の根拠の出典: ocaml.org, About OCaml
“combine the full power of object-oriented programming with an ML-style polymorphic type system”
目指したことの根拠の出典: ocaml.org, History (INRIA Caml history)
影響を受けた言語
出典が明言した線だけです。「受け継いだ点」は出典の記述を要約したものです。
-
ML ・ 1973年
受け継いだ点: 言語の系統(ML の研究の流れ)
影響を受けた側の資料が述べています ・ 出典: ocaml.org, About OCaml
一覧にない言語からの影響(名前だけ): Caml・Caml Light・Standard ML
影響を与えた言語
-
F# ・ 2002年
受け継がれた点: 言語の中核(ML 系の型付き関数型)を .NET に再実装
影響を受けた側の資料が述べています ・ 出典: Syme, The Early History of F# (HOPL IV, 2020)
-
Scala ・ 2003年
受け継がれた点: 抽象型がシグネチャ内の抽象型に近い(ML・OCaml のモジュール系)
影響を受けた側の資料が述べています ・ 出典: An Overview of the Scala Programming Language (EPFL, 2006)
-
Rust ・ 2010年
受け継がれた点: 代数的データ型・パターンマッチ・型推論
影響を受けた側の資料が述べています ・ 出典: The Rust Reference: Influences
関わる思想のテーマ
あわせて見る
- プログラミング言語の比較 C・JavaScript・Java・Python を同じものさしで。
- 冗談と実験の枝:難解プログラミング言語