INFO401 : utilisation Caml

De Wiki du LAMA (UMR 5127)
Aller à la navigation Aller à la recherche

Quelques éléments de syntaxe pour Caml

Définitions

On peut définir une valeur et lui donner un nom avec la syntaxe

let nom = expr

Par exemple :

let pi = 3.1415926536

Il est possible de préciser le type de la définition, même si cela est rarement nécessaires :

let x:float = pi /. 2.0


Pour définir une fonction, on peut utiliser deux syntaxes :

let valeurAbsolue n = if (n>0) then n
                               else (-n)

ou bien

let valeurAbsolue = fun n -> if (n>0) then n
                                      else (-n)

Ici aussi, on peut préciser les types :

let valeurAbsolue (n:int) : int = if (n>0) then n
                                           else (-n)

ou

let valeurAbsolue : int->int = fun n -> if (n>0) then n
                                                 else (-n)


Il possible de faire des définitions locales avec la syntaxe

... let x=... in ...

Par exemple,

let x:float = let pi = 3.14 in
                pi /. 2.0

Si une variable est définie plusieurs fois, c'est toujours la dernière définition qui est utilisée.

Utilisation du toplevel

Utilisation d'Emacs et du mode tuareg

Compilation