[R6RS] Are we stuck?
Matthew Flatt
mflatt
Wed Jun 30 10:31:25 EDT 2004
At Tue, 29 Jun 2004 18:44:44 -0400, Marc Feeley wrote:
> I would like to propose a change of approach. We should work on
> building a portable implementation of the module system so that we can
> all experiment with it in our own Scheme implementation.
This makes sense to me, but it depends on a basic agreement about what
we're implementing...
> It certainly represents quite a bit of work (most of the front-end of
> a Scheme compiler), but still reasonable if we use existing code such
> as Kent's portable syntax-case implementation, MzScheme's
> implementations of the module system, and Gambit's reader, for
> example.
It sounds like you're suggesting implicit agreement on a PLT-style
module system at the top level, with a Chez-style module system on the
inside --- which, again, makes sense to me.
If it turns out that others agree...
Unfortunately, the actual module code in MzScheme is not much use. The
syntax system determines the implementation of the module system,
anyway, so I expect that we would just start with Kent's portable
syntax-case.
The difficulty from there depends on what we want:
* Making `import' trigger module loads (based on filenames) is
probably easy.
* Adding a phase distinction to imports/bindings is straightforward, I
think, but adjusting top-level modules so they can be instantiated
in different phases is not as obvious. (Do we even agree enough on
this part of MzScheme's module system to invest the effort?)
* I don't know about allowing macros that expand to `provide', and
other such MzScheme features. My guess is that it's not worth the
trouble.
Matthew
More information about the R6RS
mailing list