Qu'est-ce que Caml ?
Caml est un langage de programmation. C'est un langage
fonctionnel car les briques de base des programmes sont les
fonctions. C'est un langage fortement typé, ce qui signifie que
les objets manipulés appartiennent à un ensemble identifié par un
nom qu'on appelle son type. En Caml, les types sont gérés et
manipulés par la machine, sans intervention de l'utilisateur
(types synthétisés).
Le langage est disponible sur à peu près toutes les machines
Unix (dont les systèmes Linux et MacOS X) ainsi que sur les PCs
sous Windows.
Un bref tour d'horizon des principales caractéristiques de Caml.
Que signifie le nom « Caml » ?
« Caml » est un acronyme en langue anglaise : « Categorical
Abstract Machine Language », c'est-à-dire langage de la machine
abstraite catégorique. La CAM est une machine abstraite capable
de définir et d'exécuter les fonctions, et qui est issue de
considérations théoriques sur les relations entre la théorie des
catégories et le lambda-calcul. Le premier compilateur du langage
générait du code pour cette machine abstraite (en 1984).
La deuxième filiation de ce nom est ML (acronyme pour Meta Language) : Caml est aussi issu de ce langage de programmation crée par Robin Milner en 1978, et qui servait à programmer les tactiques de preuves dans le système de preuves LCF.
La deuxième filiation de ce nom est ML (acronyme pour Meta Language) : Caml est aussi issu de ce langage de programmation crée par Robin Milner en 1978, et qui servait à programmer les tactiques de preuves dans le système de preuves LCF.
Doit-on écrire « Caml » ou « CAML », et « OCaml », « Ocaml » ou « OCAML » ?
On écrit Caml et OCaml.
« Caml » est un acronyme en langue anglaise: « Categorical Abstract Machine Language ». Comme tout acronyme, il devrait s'écrire en lettres capitales comme INRIA ou SNCF, mais ce nom tout en capitales est trop «mastok» et inélégant. Le same principe s'applique pour OCaml ; nous capitalisons toutefois le « C » pour des raisons de cohérence.
« Caml » est un acronyme en langue anglaise: « Categorical Abstract Machine Language ». Comme tout acronyme, il devrait s'écrire en lettres capitales comme INRIA ou SNCF, mais ce nom tout en capitales est trop «mastok» et inélégant. Le same principe s'applique pour OCaml ; nous capitalisons toutefois le « C » pour des raisons de cohérence.
Est-ce un langage compilé ou interprété ?
Caml est un langage compilé. Cependant tous les
compilateurs Caml proposent une boucle d'interaction
« toplevel », qui ressemble à s'y méprendre à un
interprète. En effet dans le système interactif, l'utilisateur
tape des morceaux de programmes (des « phrases » Caml) qui
sont traitées instantanément par le système, qui les compile,
les exécute et écrit les résultats à la volée.
Quelles sont les différences entre Caml V3.1, Caml Light, et
OCaml ?
Il s'agit de différentes implémentations de Caml qui ont été
développées successivement à l'INRIA. Ces systèmes on en commun
de très nombreuses fonctionalités puisqu'ils implémentent tous
le noyau du langage Caml; de telle sorte que la syntaxe de base
est à peu près la même. Cependant, ils possèdent chacun leurs
propres extensions du langage de base.
Caml V3.1 n'est plus maintenu ou distribué. Caml Light n'est plus développé, mais toujours maintenu. De par son statut très stable, il est activement utilisé pour l'enseignement. La plupart des autres utilisateurs utilisent maintenant OCaml, la variante la plus récente du langage, et nous vous invitons à utiliser OCaml dans vos nouveaux développements. Voyez notre bref historique du langage Caml.
Caml V3.1 n'est plus maintenu ou distribué. Caml Light n'est plus développé, mais toujours maintenu. De par son statut très stable, il est activement utilisé pour l'enseignement. La plupart des autres utilisateurs utilisent maintenant OCaml, la variante la plus récente du langage, et nous vous invitons à utiliser OCaml dans vos nouveaux développements. Voyez notre bref historique du langage Caml.
Comment contacter les développeurs de Caml ?
Comment signaler un bogue dans les compilateurs ?
Veuillez consulter cette page.