[R6RS] Re: strawman module syntax
Michael Sperber
sperber
Sat Jul 24 13:45:49 EDT 2004
>>>>> "Matthew" == Matthew Flatt <mflatt at cs.utah.edu> writes:
Matthew> MzScheme allows macros to expand into `require' and `provide' forms,
Matthew> but the strawman proposal did not allow that.
That was what I wanted to know.
Matthew> I made the strawman weaker on purpose. But if we eventually
Matthew> agree to allow `require' in local `module's and/or internal
Matthew> definition contexts, then we might as well allow macros to
Matthew> expand to `require's.
All this suggests to me even more strongly that a
"module-system-in-a-separate-configuration-language" and the
"module-system-embedded-in-the-normal-language" should be distinct
(I'll call the former "separate" and the latter "embedded" in this
message):
- Both are useful, and each provides something the other doesn't.
(Richard has explained what's useful about a separate module system;
I can think of of specific uses for an embedded system, but Kent
really should post something.)
- It seems at least very hard to change one such that it satisfies all
of the needs that the other satisfies.
Now, the MzScheme module system seems to be something of a mix of
both: the MODULE form is separate, but PROVIDE and REQUIRE are
embedded.
I'm wondering if, in a system that would provide a separate module
system and an embedded one (conceivable in the form of a library in
the separate system), if the cases where you need things to
macro-expand into PROVIDE and REQUIRE would actually naturally fall
into the domain of the embedded system. Maybe you could post some
example usages of this?
--
Cheers =8-} Mike
Friede, V?lkerverst?ndigung und ?berhaupt blabla
More information about the R6RS
mailing list