OCaml

OCaml
Logo.

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]Voir et modifier les données sur Wikidata
Typage Fort, statique
Dialectes JoCaml, Fresh OCaml, GCaml, MetaOCaml, OCamlDuce, OcamlP3L
Influencé par ML
A influencé F#, Rust, OPA, Scala
Écrit en OCaml et CVoir et modifier les données sur Wikidata
Système d'exploitation Multiplate-forme
Licence LGPL 2.1
Site web ocaml.orgVoir et modifier les données sur Wikidata
Extension de fichier ml et mliVoir et modifier les données sur Wikidata

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.

  1. a et b « OCaml 5.2.0 Release Notes » (consulté le )
  2. « Jérôme Vouillon », sur www.irif.fr (consulté le )
  3. « Didier Remy », sur pauillac.inria.fr (consulté le )
  4. « Messenger.com Now 50% Converted to Reason · Reason », sur reasonml.github.io (consulté le )
  5. Quelques succès d'OCaml : SLAM
  6. « The Astrée Static Analyzer », sur www.astree.ens.fr (consulté le )