Introduction à Caml

Introduction à Caml

Objective Caml (juste Caml pour les intimes) est un langage de programmation mature pour lequel il existe diverses sources d’information en ligne ou sur papier. Le site web de référence se trouve à l’adresse http://caml.inria.fr/, vous y trouverez en particulier le guide de référence1 qui décrit précisément le langage est ses bibliothèques standard, ainsi qu’une liste de documents2 dont tutoriels, références de livres, etc. Je vous encourage à consulter tout ça.

Prise en main

Il y a deux façons d’utiliser Caml : l’interpréteur et le compilateur. L’interpréteur lit des expressions et des déclarations de fonctions, les évalue immédiatement, et affiche les résultats (en anglais, on parle de boucle read-eval-print). On peut utiliser l’interpréteur directement dans un terminal en tapant la commande « ocaml » :
$ ocaml
Objective Caml version 3.09.2
# 2 + 2;;
– : int = 4
# exit 0;;
$
Un programme en Caml est consitué d’un ou plusieurs fichiers source dont le nom est de la forme « toto.ml ». Supposons qu’on ait un le fichier suivant :
(* toto.ml – programme d’exemple *)
print_int (2 + 2) ;;
print_newline ()
Un tel programme peut être exécuté directement par l’interpréteur en tapant la commande « ocaml toto.ml » :

$ ocaml toto.ml
4
$
Le programme peut aussi être compilé en un programme exécutable en utilisant « ocamlc » :
$ ocamlc toto.ml -o toto
$ ./toto
4
$
L’interpréteur peut aussi être utilisé depuis un éditeur de texte comme Emacs qui permet d’évaluer des expressions présentes dans le fichier en cours d’édition. En principe, le mode d’édition pour Caml est lancé automatiquement lorsque vous ouvrez un fichier dont le nom se termine en « .ml ». La combinaison de touches Ctrl-C puis Ctrl-S sert à lancer Caml, puis en cours d’édition Ctrl-X Ctrl-E évalue l’expression sur laquelle se trouve le curseur.
Les gens forts en marketing disent que Caml est un langage multi-paradigmes, car il permet de programmer en styles fonctionnel, impératif et objet. La base du langage, que l’on nomme Core- L, est un langage fonctionnel, et c’est ce que nous allons étudier aujourd’hui. Pour le début, utilisez l’interpéteur en mode interactif.3 Et ne me croyez pas sur parole, n’hésitez pas à taper les exemples.

Exercice 7 – Programmation combinatoire

1. La fonction List.map prend en arguments une fonction f et une liste et elle renvoie la liste obtenue en appliquant f à chaque élément de `. Définir une fonction double_list qui prend une liste d’entiers et multiplie chaque élément par 2.
2. Lire la définition de la fonction List.fold_left, la comprendre, et en déduire une fonction produit qui prend en argument une liste de flottants et renvoie le produit de ses éléments.
3. La fonction List.concat prend en argument une liste de listes d’éléments du même type et renvoie la concaténation des éléments de cette liste. En déduire une fonction bégaie qui prend une liste en argument et renvoie la liste obtenue en dupliquant chaque élément.

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Introduction à Caml (96,0 KO) (Cours PDF)
Cours Caml

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *