Les types synonymes
La première façon de créer nos propres types est de créer des types synonymes. L’idée est juste de créer un « alias » pour un type qui existe déjà. La syntaxe est :
type NOM = TYPE
Où NOM
est le nom de notre alias, et TYPE
le type. Les noms de types en OCaml
sont toujours en minuscule, avec des _
si on a besoin de séparer des mots (on
écrit mon_type
et pas monType
). Vous pourrez ensuite utiliser les mêmes fonctions
et les mêmes opérateurs qu’avec le type original, et vous pourrez utiliser les deux types
de manière interchangeable.
L’intérêt peut sembler limité, mais créer des types synonymes permet de rendre votre code plus clair : plutôt que d’utiliser les mêmes types partout, vous pouvez leur donner un sens. Comparez ces deux exemples :
(* Sans types synonymes *)
let v (d : float) (t : float) : float = d /. t
(* On a une fonction du type float -> float -> float *)
(* On commence par définir nos types synonymes *)
type vitesse = float
type temps = float
type distance = float
(* Puis on les utilise dans notre fonction *)
let v (d : distance) (t : temps) : vitesse = d /. t
(* Le type de cette fonction est distance -> temps -> vitesse, ce qui est beaucoup plus clair *)
Avec des types synonymes, on a donc moins de chance de se tromper et d’intervertir des valeurs.
Mais ce n’est clairement pas la façon de créer des nouveaux types la plus intéressante, ni la plus utile dans la réalité.