Module System

What makes a good module system?

What is a module?

In some ObjectOrientedProgrammingLanguages a module is a file that holds a bunch of classes, to make it easy to transfer classes between different systems.

Many ProgrammingLanguages allow the breakdown of a software system (or the bundling of single types and procedures) into packages where the contents of a package share a namespace and can be selectively exported to and imported from other packages.
See LucaCardelli's paper "Program fragments, linking, and modularization", available from

The MlLanguage defines an advanced module system that allows modules to be parametrized with other modules (ParametricModules?, called functors). Also see XavierLeroy?'s paper "A ModularModuleSystem".

See for an online bibliography of (somewhat SchemeLanguage-specific) papers about modules and ComponentOrientedProgramming. See for a mini-bibliography of research papers related to ModuleSystems for FunctionalProgrammingLanguages.
Also see ComponentDefinition, ModularProgramming

View edit of December 18, 2004 or FindPage with title or text search