OCamlPro, logiciel et blockchain
Le langage, loin d’être nouveau est prometteur : paradigme fonctionnel privilégié (mais pas imposé), haut niveau mais assez efficace, typage statique (le langage détecte les erreurs de type à la compilation), mais avec inférence de type (pratique mais discutable : la spécification manuelle du type contribue à documenter une fonction... Ceci dit, on peut préciser le type si on le souhaite, ce qui donne au compilateur l’occasion de trouver des erreurs). Un système un peu comparable aux macros Lisp : une fonction peut analyser - lors de la compilation - une structure de données et générer des fonctions telles que la sérialisation. Cf. https://github.com/ocaml-ppx/ppx_deriving Un système de gestion de package (OPAM) facilite l’installation de bibliothèques tierces (comme PIP avec Python ou Nuget avec .Net).
Il y a cependant des habitudes à prendre. L’expression mathématique "f(x,g(x))" s’écrit "f x (g x)", ce qui est peu commun (sauf peut-être pour les amateurs de Lisp, Scheme ou Haskell). Mais l’intérêt du langage justifie cet effort.
En revanche, sous Windows, il y a des limitations. Le portage a été fait sous Cygwin : ce n’est pas un portage très natif. La bibliothèque Core.Std (très utilisée dans l’ouvrage Real World OCaml d’O’Reilly) doit être remplacée par Core_kernel qu’il faut deviner. Je n’ai pas trouvé le moyen d’intégrer LablGtk pour faire des IHM... il faudra que je réessaye sous Linux où cet environnement sera plus à son aise.