Apprendre

Qu'est-ce que OCaml ? OCaml est un langage générique de programmation, de puissance industrielle, qui met l'accent sur l'expressivité et la sûreté. C'est la technologie de choix pour les entreprises où la qualité du code, sa performance et sa maintenabilité sont critiques. La communauté est très active, et a développé un riche écosystème de bibliothèques. Lire plus.
Exemples de code
(* Si [l] est la liste [e1;…;eN] *)
(* Additionner tous les éléments: *)
List.fold_left ( +. ) 0. l
(* Multiplier tous les éléments: *)
List.fold_left ( *. ) 1. l
(* Concaténer la liste dans une chaîne: *)
List.fold_left ( && ) true l
(* Inverser la liste : [eN;…;e1] *)
List.fold_left (fun r e -> e :: r) [] l
Tutoriaux & FAQ
Livres anglais et français


De nombreux livres sont disponibles sur OCaml, dont deux publiés en 2013.
Présentations & Videos
Un exposé de Xavier Leroy présentant les dernières nouveautés d'OCaml à la réunion annuelle des développeurs OCaml 2014 à Gothenburg, Suède (en PDF, Vidéo).
Un cours invité donné par Yaron Minsky, de Jane Street, sur comment programmer efficacement en ML. L'exposé a été donné à Harvard, pendant le cours d'introduction à l'informatique, CS51, où les étudiants passent un semestre à programmer en OCaml.
Utilisateurs industriels
Jane Street est une société
d'arbitrage financier qui met l'accent sur la résolution
de problèmes technologiques et collaboratifs. Presque tous
leurs systèmes sont écrits en OCaml : du code de recherche
statistique qui opère sur des téra-octects de données aux
outils de gestion système, comme l'infrastructure
de transactions en temps réel. Et la plupart de ces systèmes
sont déployés à l'échelle réelle : dans une journée
classique, leurs transactions représentent entre 1% et 2%
du volume du marché américain.
Pour gérer
son énorme base de code PHP, Facebook a développé
pfff,
un ensemble d'outils et d'APIs pour effectuer des analyses
statiques, des analyses dynamiques, de la visualisation de
code, naviguer dans le code, et des transformations
source-à-source préservant le style. Facebook a aussi
conçu Hack, un nouveau langage de programmation
statiquement typé pour HHVM, une machine PHP très rapide.
Voir
l'exposé à CUFP de Julien Verlaguet et
sa présentation.
Les réussites d'OCaml
Unison est un synchroniseur de fichiers innovant, basé
sur
la plus récente recherche. Il tolère les pannes
et fonctionne aussi bien sous Windows que sous la plupart
des variantes d'Unix, en incluant MacOSX.
OCaml a permis à ses auteurs d'
« organiser une base de code importante et complexe ».
Développé par LexiFi, le "Modeling Language
for Finance" (MLFi) est le premier langage formel qui
décrit précisément les produits financiers les plus
sophistiqués. MLFi est développé comme un extension
du langage OCaml.
FFTW
est une bibliothèque pour effectuer la transformée de Fourier,
développée au MIT, qui rivalise avec les meilleures
bibliothèques propriétaires, tout en restant
plateforme indépendante.
Le code est généré par
genfft
,
développé en OCaml, qui
« découvre » des algorithmes qui étaient inconnus
auparavant.
Elle a été couronnée
par le prix J. H. Wilkinson du logiciel numérique,
qui prime les développements qui excèlent dans toutes les phases
de la préparation d'un logiciel numérique de haute qualité.