Résumé
Nous avons fait le tour dans ce chapitre des possibilités qu'offrent
le langage de modules paramétrés d'Objective CAML.
Comme tout mécanisme de module, n y retrouve la dualité
interface-implantation que l'on a renommé dualité
signature-structure. Elle permet le masquage de définition de type,
d'exception ou de valeur.
En masquant la représentation des types, on obtient la définitions
de types abstraits dont les valeurs sont uniquement manipulables par
les moyens fournis par la signature associée module. On a vu comment
utiliser ce mécanisme pour faciliter le partage de valeurs cachées
entre fermeture ainsi que pour offrir plusieurs vues d'une même
structure. Dans ce dernier cas, il faut parfois avoir recours à des
indications explicites de partage de type.
Le mécanisme plus riche des modules paramétrés (ou foncteurs) nous a
permis d'illustrer comment réutiliser le code par un mécanisme
aussi simple que l'application d'un argument à une fonction.