What makes a good module system? What is a module? In some ObjectOrientedProgrammingLanguage''''''s a module is a file that holds a bunch of classes, to make it easy to transfer classes between different systems. Many ProgrammingLanguage''''''s 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 http://www.luca.demon.co.uk/Bibliography.htm. ---- 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 http://library.readscheme.org/page5.html for an online bibliography of (somewhat SchemeLanguage-specific) papers about modules and ComponentOrientedProgramming. See http://readscheme.org/modules/ for a mini-bibliography of research papers related to ModuleSystem''''''s for FunctionalProgrammingLanguage''''''s. ---- Also see ComponentDefinition, ModularProgramming ---- CategoryLanguageFeature