Formation de programmation CAML en pdf, tutoriel & guide de…
Cours Caml
Cours Caml
Objective Caml est un langage fonctionnel, fortement typé, non spécialisé.
Successeur de Caml Light (lui meme successeur du « Caml lourd »). De la famille ML. Autre membre connu : SML (« Standard ML »).
Conçu et implémenté `a l’INRIA-Rocquencourt par Xavier Leroy et d’autres.
Utilisations principale : enseignement, calcul symbolique, logiciels d’analyse statique (Microsoft, ENS), mais aussi logiciels de manipulation de fichiers (Unison, MLDonkey…)
En Caml, les variables ont un type. Pas de passage « mystérieux » d’un type à l’autre. Pas de jeu sur les pointeurs comme en C. Types référence mais sans « valeur nulle ».
Conséquence sécurité d’exécution : impossible d’avoir des « segmentation fault » ou « null pointer exception ».
Contrepartie parfois plus lourd que des langages non typés ou à typage faible comme Scheme, Common Lisp ou Perl.
Cours Caml les types simples de Caml sont :
– Les booléens bool (true et false), n’ayant que les deux valeurs de vérité vrai et faux,
– Les entiers int (les entiers de -230 à 230 – 1),
– Les caractères char, attention ils sont délimités avec les anti-apostrophes,
ainsi par exemple ,
– Les chaînes de caractères « string » (encadrés de guillemets), ainsi ,
– Les réels float (à ce propos entiers et réels ne sont pas compatibles à moins d’en donner l’ordre par #open « float » dans certaines versions de Caml, sinon + – * / doivent être suivis d’un point).
– Le type unit est le type dont l’unique valeur notée () est vide c’est le « void » du C.
Les types forment une algèbre avec ces constantes (int, unit, char…), des variables ‘a, ‘b,… des constructeurs unaires (list, stream, vect…) et binaires (*, ->…).
Cours Caml exemples de calculs de types :
On donne ici une suite d’expressions dont il n’est pas toujours facile de comprendre les contraintes qui ont amené Caml à renvoyer ses résultats.
Prenons l’exemple suivant, il s’agit d’une définition de f s’appliquant sur 3 arguments, d’abord, celui qui est nommé g, et qui, d’après le corps de la définition est obligatoirement une fonction s’appliquant sur un couple. Ceci signifie que si x est de type a et y de type b, alors g(x, y) est de type c.
Aussi, l’interpréteur Caml attribue-t-il des noms de types a, b, c respectivement pour les arguments x, y et pour le résultat de g. Puis, Caml va indiquer que le type du premier argument de f est donc a*b -> c, à la condition que celui du second x soit a et celui du dernier y soit b, en ce cas, le type retourné sera celui de g, c’est à dire c.
Pourquoi CAML ???
CAML est un langage fonctionnel : tout peut être vu au sens des fonctions mathématiques.
1 : CAML fait beaucoup de vérification automatiques et laisse peut de place à l’erreur.
2 : Langage interpréter : il existe un programme (OCAML) qui permet de tester les
instructions sans passer par la compilation.
Construire correctement un type :
Bien que les vérifications syntaxiques sur les types définis par CAML soient assez faibles, on veut « bien construire » un type de données avec l’ensemble de ses propriétés. On va toujours construire un nouveau type en 3 étapes : ces étapes sont importantes notamment pour des programmes un peu longs (avec beaucoup de fonction), pour nous permettre de modifier le type sans modifier toutes les fonctions qui l’utilisent.
1- : définir le type (type truc = profile).
2- : écrire une fonction constructeur ou générateur, qui permet de créer une instance d’objet de ce type.
c’est ici qu’on peut vérifier la validité des pré-conditions
3- : écrire des fonctions dites accesseurs ou sélecteurs qui permettent d’extraire les
différents éléments du type composé.
On aura autant d’extracteurs qu’il y a d’élément dans le type composé.
Listes :
La liste est une structure de donnée fondamentale de Caml, et elle bénéficie d’une
syntaxe particulière. Une liste ne peut contenir que des éléments de même type.
Cours la machine virtuelle O’Caml
Cours la machine virtuelle O’Caml, tutoriel & guide de travaux…
Initiation au langage Caml les fonctions
Cours initiation au langage Caml les fonctions, tutoriel & guide…
Compiler un module avec ocamlc ocaml -c
Cours compilation, tutoriel & guide de travaux pratiques en pdf.…
Introduction à Caml cours pdf
Cours introduction à Caml, tutoriel & guide de travaux pratiques…
Programmation fonctionnelle avec Objective Caml
Dans un monde sans eet de bord… ou encore…dans un…
Caml light specifics
Cours Caml light specifics, tutoriel & guide de travaux pratiques…
La machine virtuelle O’Caml
Extrait du cours la machine virtuelle O’Caml Les informations dans…
Introduction à la programmation avec CAML
Extrait du cours introduction à la programmation avec CAML Dans…
Programmation par l’exemple en Caml – 128 problèmes
Exemple de conversion de chaîne en valeur numérique Considérons une…