Conversation

What's a module? I've read more than once that “language X doesn't have real modules”. Is there an academic definition? If not can you point me to the discussion? I remember I read somewhere that “only SML has real modules” 🤔
7
19
Harper and Peirce define a module informally as, “A collection of components, which may include procedure of function definitions, variable declarations, type definitions, an initialisation code – specifics will vary from one language to another.”
1
4
More information on their perspective can be found in “Design Concepts for ML-style Module Systems”, a chapter in Advanced Topics in Types and Programming Languages.
1
3
One interesting case of modules in the ML sense is Scala, for instance, which merges them with the object system, while retaining lots of stuff from ML, like module functions and associated types etc.
1
4
Show replies