définitions récursives une fonction est récursive si elle fait appel à elle même dans sa propre définition récursivité mutuelle les types structurés - le produit cartésien - le n-uplet - types produits nommés (enregistrements) type complexe = { re : float; im : float} ;; type complexe = { re : float; im : float; } # let a = {re=1.4; im = 0.5} ;; val a : complexe = {re = 1.4; im = 0.5} # a.re ;; - : float = 1.4 # a.im ;; - : float = 0.5 les types sommes : modélisation de domaines finis # type couleur = Pique | Coeur | Carreau | Trefle;; type couleur = Pique | Coeur | Carreau | Trefle # let a = Trefle ;; val a : couleur = Trefle définition par cas (match-with) let points v = match v with Pique -> 1 | Trefle -> 2 | Coeur -> 3 | Carreau -> 4;; # points a ;; - : int = 2 # constructeurs avec arguments type num = Int of int | Float of float