[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