====== Syntaxe élémentaire de OCaml ======
===== Commentaires =====
(* ceci est un
commentare qui peut
faire plusieurs lignes *)
===== Fin de commande =====
Pour indiquer la fin d'une commande, on utilise '';;''
===== Expressions de base =====
D'abord il faut distinguer les types ''int'' et ''float'' ainsi que leurs opérateurs. ''3'' est un ''int''. ''3.'' est le même nombre mais en version ''float''.
De la même façon, ''+'' est l'addition, mais l'addition uniquement pour les entiers. Si on veut additionner des ''float'', on utilise ''+.''.
3 + 4;; (* affiche 7 en précisant le type int*)
3. +. 4.2;; (* affiche 7.2, type float*)
3 +. 4.2;; (* Erreur ! 3 n'est pas un float*)
===== Assignation =====
let x = 3;;
Le mot clé ''let'' peut être compris comme le //soit// des mathématiciens : //Soit x égal à 3//.
**Attention :** Il n'y a pas vraiment de variables en programmation fonctionnelle. ''x'' ne pourra pas changer ! C'est une **constante**.
On peut néanmoins créer des variables en OCaml, mais nous n'en parlerons pas.
On peut aussi définir une quantité qui n'existera que le temps d'une expression :
let a = 2 in a+7;;
(* renvoie l'entier 9 *)
Dans ce qui précède, ''a'' n'existe que le dans le temps de l'expression qui suit.
On peut d'ailleurs enchaîner :
let a = 3 in let b = 11 in a * b;;
(* renvoie 33 *)
let r = let a = 12 in a + 15;;
(* assigne la valeur 12 + 15 = 29 à r
mais a n'existe que le temps de la ligne *)
===== Conditions =====
Opérateurs classiques. On utilise ''%%||%%'' pour le OU, ''%%&&%%'' pour ET et enfin ''not'' pour la négation.
let x = 19;;
x > 3;; (* renvoie true *)
x < 25 && x < 0;; (* renvoie false *)
===== Bloc de test =====
if condition then instruction;;
(* avec else *)
if condition then instruction else instruction;;