this week: programming-in-the-large using the module system of OCaml.
1. STRUCTURING SOFTWARE WITH MODULES
in large project: mangage high number of definitions → abstractions built on top of other abstractions.
- layers of abstractions: hide information
- divide program into components
- identifiers organised to avoid naming conflicts
module as namespace
dot-notation: access module ...