OCaml 5.0

Par:
fredericmazue

lun, 19/12/2022 - 16:51

OCaml, anciennement Objective Caml, est un grand langage, beaucoup trop méconnu. En outre OCaml est un langage français, ce qui mérite d'être souligné. Ce langage, de la famille des langages ML, est un projet open source dirigé et maintenu essentiellement par Inria.

OCaml est l'implémentation la plus avancée du langage de programmation Caml, créé par Xavier Leroy, Jérôme Vouillon, Damien Doligez, Didier Rémy.

OCaml est le successeur de Caml Light, auquel il a ajouté entre autres une couche de programmation objet. OCaml est un langage multi paradigmes. Il permet la programmation impérative, fonctionnelle et objet. Il possède un système de types statiques forts et inférés. Son système de modules à interfaces est également très intéressant.

OCaml vient de sortir en version 5.0. Le point culminant de cette nouvelle version majeure d'OCaml est le support d'exécution très attendu pour le parallélisme de la mémoire partagée

L'équipe d'OCaml indique que ce support multicœur est l'aboutissement de plus de 8 ans d'efforts, et qu'il  nécessité une réécriture complète de l'environnement d'exécution OCaml. Par conséquent, OCaml 5.0.0 devrait être une version plus expérimentale d'OCaml que les versions habituelles d'OCaml, précise l'équipe. Pendant la période de maturation d'OCaml 5, la branche OCaml 4.14 sera maintenue en rétroportant les correctifs de bogues de la branche OCaml 5 à intervalles réguliers.

Dans cette version, le compilateur natif ne prend en charge que les architectures x86-64 et arm64. En termes de systèmes d'exploitation, Linux, les BSD, macOS et mingw64 sous Windows sont pris en charge.

A noter encore l'arrivée des gestionnaires d'effets à titre expérimental. Les gestionnaires d'effets sont un mécanisme de programmation modulaire avec des effets définis par l'utilisateur. Les gestionnaires d'effets permettent aux programmeurs de décrire les calculs qui effectuent des opérations efficaces , dont la signification est décrite par les gestionnaires qui encadrent les calculs. Les gestionnaires d'effets sont une généralisation des gestionnaires d'exceptions et permettent d'exprimer de manière composable des mécanismes de flux de contrôle non locaux tels que des exceptions réactivables, des threads légers, des coroutines, des générateurs et des E/S asynchrones. 

OCaml est un logiciel libre sous licence GPL version 2.1, disponible sur GitHub.