OCaml | |
---|---|
Basisdaten | |
Erscheinungsjahr: | 1996 |
Designer: | Xavier Leroy, Damien Doligez |
Entwickler: | INRIA |
Aktuelle Version | 5.2.1[1] (18. November 2024) |
Beeinflusst von: | Caml Light, Cool Standard ML |
Beeinflusste: | ATS, Elm, F#, F*, Haxe, Opa, Rust, Scala |
Betriebssystem: | Plattformunabhängig |
Lizenz: | Q Public License (Compiler), LGPL (Bibliothek) |
ocaml.org |
OCaml (ehemals Objective CAML) ist eine auf der ML-Sprachfamilie basierende Programmiersprache. Sie wird am INRIA unter der Leitung von Xavier Leroy entwickelt. Caml stand ursprünglich für Categorical Abstract Machine Language, basiert aber schon seit langem nicht mehr auf diesem abstrakten Konzept. Zusätzlich zu den funktionalen und imperativen Merkmalen von ML unterstützt OCaml objektorientierte Konzepte und unterscheidet sich in Details von ML.
OCaml bietet einen Compiler zur Erzeugung von sowohl Bytecode als auch Maschinencode. Der erzeugte Maschinencode ist sehr effizient (vergleichbar mit C++-Code). Zu den mächtigsten Merkmalen dieser Sprache gehört statische Typisierung (in Verbindung mit Typinferenz), parametrische Polymorphie, Pattern Matching, ein Mechanismus zur Ausnahmebehandlung und automatische Speicherbereinigung. OCaml-Distributionen enthalten einige allgemeine Bibliotheken und sind für zahlreiche Plattformen, inklusive Unix und Windows erhältlich.
Ein bekanntes Programm, das in OCaml geschrieben wurde, ist MLDonkey, ein P2P-Client, der auf diversen Betriebssystemen läuft und auf verschiedene P2P-Netzwerke zugreifen kann.