Précédent Index Suivant



Type Enregistrement I


Un type produit à composantes nommées.


Constructeur de type
donné par l'utilisateur type ... = {lab_1 : t_1 ; .., lab_n : t_n}


Constructeur de valeur
syntaxe presque identique.

#type enfant = {nom : string ; age : int};;
Le type enfant est défini.
#let simon = {nom = "Simon" ; age = 9};;
simon : enfant = {nom = "Simon"; age = 9}

Notation pointée
#let nom {nom = n;age = a} = n;;
nom : enfant -> string = <fun>
#let nom {nom = n} = n;;
nom : enfant -> string = <fun>
#let nom x = x.nom;;
nom : enfant -> string = <fun>

Précédent Index Suivant