This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home.
Source for wiki FactoringModuleProposals version 9
author
steven_ganz
comment
ipnr
67.188.102.79
name
FactoringModuleProposals
readonly
0
text
== Factoring Module Proposals ==
This is an attempt to factor R6RS, ModulesShinn, the `library` and `module` parts of ModulesAndPackagesArcfide, and ModulesGanz into features that they have or don't have, to make decisions easier. I have neglected purely syntactic features like the names and ordering constraints of forms and keywords. I've added columns for a few existing Schemes.
||Feature||r6rs||shinn||hsu-library||hsu-module||ganz||chicken||chez||
||Module type||Static||Static||Syntactic||Syntactic||Syntactic||Syntactic||Syntactic||
||Top-level only||Yes||Yes||Yes||No||No||Yes||No||
||Name||List||List||List||Identifier||Identifier||Identifier||Identifier||
||Anonymous self-importing modules||No||No||No||Yes||Yes||No||Yes||
||File inclusion within module||In most cases||Yes||Yes||Yes||No||Yes||Yes||
||Body||Implicit||Explicit||Implicit||Implicit||Implicit||Implicit||Implicit||
||Exports syntax forms?||Yes||Yes||Yes||Yes||Yes||Yes||Yes||
||Import qualifiers: `only` `except` `rename` `prefix`||Yes||Yes||Yes||Yes||Yes||Yes||Yes (also strip prefixes)||
||Rename on export||Yes||Yes||Yes||Yes||No||No||No||||||
||Macros can generate modules||No||No||Unclear||Yes||Unspecified restrictions||Yes||Yes||||||
||Support for `co-export`||No||No||Yes||Yes||No||No||No||||||
||Implicit exports||Automatic||Must be explicit||Automatic/Overridable||Automatic/Overridable||Automatic/Overridable||Must be explicit||???||||||
||Import into REPL||No||Yes||Yes||Yes||Yes||Yes||Yes||||||
||Phasing||Yes||No||No||No||No||Partial||Unclear||||||
||Versioning||Yes||No||No||No||No||No||No||||||
||Strict subset of R6RS||Obviously||Yes||Yes||No||No||No||No||||||
||Supports parameterization of modules by imports||No||No||No||No||Yes||No||No||
The difference between R6RS and R6RS-- is that R6RS-- does not have phasing or versioning.
time
2010-10-28 06:16:05
version
9