519Fermer521
PolluxLe 08/12/2006 à 17:07
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 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 anecdotiqueconfus)

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 hehe), 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? laught

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)

triroll