OCaml | ||
Date de première version | 1987 (CAML), 1996 (OCaml) | |
---|---|---|
Paradigme | Multiparadigme : impérative, fonctionnelle, orientée objet | |
Développeur | Inria | |
Dernière version | 5.2.0 ()[1] | |
Typage | Fort, statique | |
Dialectes | JoCaml, Fresh OCaml, GCaml, MetaOCaml, OCamlDuce, OcamlP3L | |
Influencé par | ML | |
A influencé | F#, Rust, OPA, Scala | |
Écrit en | OCaml et C | |
Système d'exploitation | Multiplate-forme | |
Licence | LGPL 2.1 | |
Site web | ocaml.org | |
Extension de fichier | ml et mli | |
modifier |
OCaml, anciennement connu sous le nom d'Objective Caml, est l'implémentation la plus avancée du langage de programmation Caml, créé par Xavier Leroy, Jérôme Vouillon[2], Damien Doligez (en), Didier Rémy[3] et leurs collaborateurs en 1996. Ce langage, de la famille des langages ML, est un projet open source dirigé et maintenu essentiellement par l'Inria.
OCaml est le successeur de Caml Light, auquel il a ajouté entre autres une couche de programmation objet. L'acronyme CAML provient de Categorical Abstract Machine Language, un modèle de machine abstraite qui n'est cependant plus utilisé dans les versions récentes de OCaml.
Portable et performant, OCaml est utilisé dans des projets aussi divers que le logiciel de synchronisation de fichiers Unison, l'assistant de preuves formelles Coq ou la version Web de Facebook Messenger[4]. Il dispose d'un écosystème de développement varié, avec notamment le framework Web et mobile Ocsigen et l'unikernel MirageOS. Les facilités de traitement symbolique du langage permettent le développement d'outils de vérification statique, comme le projet SLAM[5] pour des pilotes Windows écrits par Microsoft, ou ASTRÉE[6] pour certains systèmes embarqués des Airbus A380.