Hippopotame (./515) :
Yoshi Diabolique (./511) :
(Et c'est pareil pour None utilisé en CAML, on se fiche de savoir ce que c'est, un pointeur ou un chou fleur... c'est le néant, c'est tout).
Dis ça au typeur, il va être content !
None est une value bien concrète, de type 'a option.
Oui

(de même que le pointeur nul est une value bien concrète, de type A*)[/cite]
Comme d'ailleurs () qui est une autre value, de type unit, et qui serait d'ailleurs un bien meilleur candidat pour ton pseudo-null en caml. (Chais pas pourquoi t'as été cherché ce None qui est très anecdotique
)
Ah non, () ça n'a strictement rien à voir ! () ne contient aucune information (c'est stocké dans 0 bits de mémoire, puisque tu aimes les chiffres et les implémentations

), alors que None contient une information qui le différencie de Some ptr...
Enfin on pourrait aussi se débrouiller, en définissant un type Null () | NonNull ptr, hein, mais c'est idiot parce que le built-in None | Some ptr fait exactement la m^me ehcose...
Mais on s'en fout de ces considérations d'implémentation... C'est exactement la même sémantique, point.
Complètement rien à voir.
Et la liste vide, c'est aussi un NULL pour toi? 
Ah non, la liste vide, elle a une taille, on peut la manipuler, on peut lui concaténer des objets, bref, on peut la manipuler exactement comme une liste normale...
(évidemment, CAML te permet à la fois d'interdire le pointeur nul et d'interdire l'arithmétique de pointeur
Allez, je vais t'apprendre un truc marrant :
Ya pas de pointeur en caml. (à la rigueur des 'a ref)
