Unions
A.k.a. Discriminated Unions (DU)
Points clés
type Billet =
| Adulte // aucune donnée -> ≃ singleton stateless
| Senior of int // contient un 'int' (mais on ne sait pas ce que c'est)
| Enfant of age: int // contient un 'int' de nom 'age'
| Famille of Billet list // contient une liste de billet
// type récursif -- pas besoin de 'rec'Qualification des Tags
Casse des Tags
Champs nommés - Labelled Fields
Déclaration
Instanciation
Conflit de noms
Accès aux données internes
Single-case union
Style "enum"
Mis à jour