Author: Christian.Queinnec@lip6.fr

## Chapter Outline

Section 1 illustrates Objective CAML modules on the example of the `Stack` module from the standard library, and develops an alternate implementation of this module with the same interface. Section 2 introduces the module language of Objective CAML in the case of simple modules, and shows some of its uses. In particular, we discuss type sharing between modules. Section 3 covers parameterized modules, which are called functors in Objective CAML. Finally, section 4 develops an extended example of modular programming: managing bank accounts with multiple views (the bank, the customer) and several parameters.