Next: Un exemple simple
Up: Algorithmes et Programmation Annexe
Previous: Table des matières
Le langage Caml est un langage typé conçu et développé à l'INRIA à partir de 1984. C'est un successeur du langage ML[7] conçu par Robin Milner en 1978 comme un langage typé de manipulation symbolique, qui servait de métalangage au système de démonstration automatique LCF. Outre Caml, le langage ML a eu de multiples descendants en particulier SML [9], développé à AT&T Bell laboratories et CMU. Les langages de la famille ML sont de haut niveau, ils autorisent les définitions algébriques des structures de données et la gestion automatique de la mémoire. Ils sont devenus populaires dans la communauté du calcul symbolique et dans l'enseignement de l'informatique.
Caml est un langage de programmation fonctionnelle, c'est-à-dire un langage qui encourage un style de programmation fondé sur la notion de calcul plutôt que sur la notion de modification de l'état de la mémoire de la machine. Ce style, souvent plus proche des définitions mathématiques, repose sur l'utilisation intensive des fonctions, et n'est possible qu'à cause de l'effort porté sur la compilation des fonctions et la gestion de la mémoire. À ce titre, Caml est assez différent de Pascal et C, quoiqu'il propose aussi des aspects impératifs qui autorisent un style assez proche du style impératif traditionnel. C'est celui que nous adoptons ici pour rester aussi près que possible des codages C ou Pascal des algorithmes décrits.
On trouve une introduction didactique au langage SML dans les livres de Paulson[6] et d'Ulmann[8]. Pour une introduction à Caml, on consultera les livres de Weis-Leroy [1], Cousineau-Mauny [3], Hardin-Donzeau-Gouge [4] ou Monasse [5]. Le ``Manuel de référence du langage Caml'' [2] décrit le langage en détail. Cette annexe a été écrite par Pierre Weis.
1/11/1998