To Learn More
Other examples of modules and functors can be found in chapter 4 of
the Objective Caml manual.
The underlying theory and the type checking for modules can be found
in a number of research articles and course notes by Xavier Leroy, at
Link
http://cristal.inria.fr/~xleroy
The Objective CAML module system follows the same principles as that of
its cousin the SML language. Chapter 22
compares these two languages in more details and provides
bibliographical references for the interested reader.
Other languages feature advanced module systems, in particular
Modula-3 (2 and 3), and ADA. They support the definition of modules
parameterized by types and values.