Exemples
Figure 0.2 : mon_arbre
#let mon_arbre = Noeud
{Étiquette = 10;
Fils_gauche = Noeud
{Étiquette = 5;
Fils_gauche = Feuille 2; Fils_droit = Feuille 8};
Fils_droit = Noeud
{Étiquette = 30;
Fils_gauche = Vide; Fils_droit = Feuille 40}};;
mon_arbre : (int, int) arbre = Noeud ...
ou
#let mon_arbre = Noeud
{Étiquette = 10;
Fils_gauche = Noeud
{Étiquette = 5;
Fils_gauche = Noeud
{Étiquette = 2;
Fils_gauche = Vide; Fils_droit = Vide};
Fils_droit = Noeud
{Étiquette = 8;
Fils_gauche = Vide; Fils_droit = Vide}};
Fils_droit = Noeud
{Étiquette = 30;
Fils_gauche = Vide;
Fils_droit = Noeud
{Étiquette = 40;
Fils_gauche = Vide; Fils_droit = Vide}}};;
mon_arbre : (int, 'a) arbre = Noeud ...
Figure 0.3 : mon_expr
#type op =
| Addition | Soustraction | Multiplication | Division;;
Le type op est défini.
#let mon_expr = Noeud
{Étiquette = Addition;
Fils_gauche = Noeud
{Étiquette = Multiplication;
Fils_gauche = Feuille 1; Fils_droit = Feuille 2};
Fils_droit = Noeud
{Étiquette = Soustraction;
Fils_gauche = Feuille 3;
Fils_droit = Noeud
{Étiquette = Division;
Fils_gauche = Feuille 4; Fils_droit = Feuille 5}}};;
mon_expr : (op, int) arbre = Noeud ...