Author: Christian.Queinnec@lip6.fr

## Résumé

Nous avons fait le tour dans ce chapitre des possibilités qu'offre le langage de modules paramétrés d'Objective CAML.
Comme dans tout mécanisme de modules, on y retrouve la dualité interface-implantation que l'on a renommée dualité signature-structure. Elle permet le masquage de définitions de type, d'exception ou de valeur.
En masquant la représentation des types, on obtient la définition de types abstraits dont les valeurs sont manipulables uniquement avec les moyens fournis dans la signature associée au module. On a vu comment utiliser ce mécanisme pour faciliter le partage de valeurs cachées entre fermetures 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'une fonction.