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. For a version of this page that may be more recent, see FactoringModuleProposals in WG2's repo for R7RS-large.

Factoring­Module­Proposals

cowan
2010-10-24 23:23:03
5history
source

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.

Feature

r6rs

shinn

hsu-library

hsu-module

ganz

Module Type

static

static

syntactic

syntactic

syntactic

Top-level only

Yes

Yes

Yes

No

No

Name

List

List

List

Identifier

Identifier

Anonymous self-importing modules

No

No

No

Yes

Yes

File inclusion within module

In most cases

Yes

Yes

Yes

No

Body

Implicit

Explicit

Implicit

Implicit

Implicit

Import qualifiers: only except rename prefix

Yes

Yes

Yes

Yes

Yes

Rename on export

Yes

Yes

Yes

Yes

No

Macros can generate modules

No

No

Unclear

Yes

Unspecified restrictions

Support for co-export

No

No

Yes

Yes

No

Implicit exports

Automatic

Automatic

Allowed

Allowed

Required

Import into REPL

No

Yes

Yes

Yes

Yes

Phasing

Yes

No

No

No

No

Versioning

Yes

No

No

No

No

The difference between R6RS and R6RS-- is that R6RS-- does not have phasing or versioning.