Dans le monde d'aujourd'hui, ML (langage) est devenu un sujet d'une grande pertinence et d'un grand intérêt pour un large éventail d'individus. Que ce soit en raison de son impact sur la société, de son influence sur la culture populaire ou de son importance dans le domaine scientifique, ML (langage) a réussi à capter l'attention de personnes de tous âges et de tous horizons. Dans cet article, nous explorerons les différents aspects liés à ML (langage), en analysant son évolution dans le temps, son impact aujourd'hui et les implications possibles de sa présence dans le futur. Grâce à une approche multidisciplinaire, nous chercherons à offrir une vision globale de ML (langage), offrant au lecteur un aperçu complet et enrichissant de ce sujet fascinant.
Développé par | Robin Milner |
---|---|
Première version | |
Type |
Langage de programmation Langage procédural (d) Langage de programmation fonctionnel (en) |
ML (contraction de Meta Language) est un langage de programmation généraliste fonctionnel.
ML fut initialement développé par Robin Milner et d'autres personnes dans les années 1970 à l'université d'Édimbourg, pour le système de preuves formelles Logic for Computable Functions (en) (LCF). R. Milner rencontrait des difficultés avec le système de typage de Lisp qui permettait de « prouver » des assertions fausses.
ML est un langage fonctionnel impur : il est possible de programmer en impératif. En conséquence, les fonctions peuvent être sujettes à des effets secondaires non désirés (dits « effets de bord »), contrairement à des langages purement fonctionnels comme Haskell.
ML a été standardisé en 1983, puis révisé en 1997 ; le langage résultant s'appelle Standard ML (SML), et a été notamment implémenté dans Standard ML of New Jersey (SML/NJ). En parallèle, des équipes françaises ont développé Caml, dont la popularité dans la communauté ML internationale est maintenant très grande.
Le typage de ML a été étendu avec du polymorphisme de première classe présent dans le système F de Jean-Yves Girard grâce à la thèse de Didier Le Botlan et à Didier Rémy au début des années 2000[1]. On parle alors de MLF. Cette extension du typage était un problème posé depuis 1980. Aujourd'hui, ce langage est de plus en plus simplifié.
Les fonctionnalités de ML incluent :
D'autres avantages du ML sont :
Les points forts de ML le rendent particulièrement apte à l'écriture de langages, de compilateurs et de systèmes de preuve formelle.
Les principales implémentations sont le Standard ML et OCaml :
OCaml (INRIA) ne suit pas le standard SML mais est plutôt une évolution orientée objet de ML. Ce langage se caractérise par un compilateur produisant des programmes disposant d'une très grande rapidité d'exécution ainsi qu'une bibliothèque importante. Les développeurs et les utilisateurs forment une communauté très active pour un langage issu de la recherche. OCaml a servi de base pour le développement du langage F# sur la plate-forme .NET de Microsoft.