[R6RS] draft module SRFI
Matthew Flatt
mflatt
Fri Aug 5 11:54:26 EDT 2005
Thanks for the feedback!
At Thu, 04 Aug 2005 19:32:36 +0200, Michael Sperber wrote:
> - "Need better support": not a complete sentence. It's also too
> strong, unless the missing noun is "I" or somebody not me.
I'll revise it.
> o The imports and exports are conceptually but not syntactically
> separate from the body. This permits implementations to allow
> macro-expanding into import and export forms.
Where the draft says "a macro cannot expand to an <impexp-form>", I'll
change it to "an error is signalled if a macro expands to an
<impexp-form>". The intent is that an implementation is non-conformant
if it allows a macro expandsion to `import' or `export'.
> Alternatively, the module language could be syntactically
> distinguished from the body language (by a pair of parentheses or
> a keyword), and the module language could live in a separate
> import phase. This would allow macro expansion at the module
> level, and not require full macro expansion of the body to find
> out the exports and imports.
I'll add this to the list of issues, although I personally dislike
having a separate macro-expansion phase for the imports and exports.
I have no problem with delimiting the imports and exports from the
body, though. Anyone else in favor?
> - last issue bullet: "[...] determining the phase of an import would
> require macro-expanding the module body." I don't understand this:
> the phasing can influence the macro expansion, right? Wouldn't this
> introduce a circularity into the semantics?
Not as far as I can tell. Do you have an example in mind?
I'm not really inclined to debate it, though, since I'd rather not go
this route.
> - nit: I got slightly tripped up by the spelling of "signaled," which
> is correct but different from R5RS's "signalled"
Hmm, my Mac ispell installation likes only "signaled", and my PC ispell
installation likes only "signalled". I'll change the draft to
"signalled" anyway.
Matthew
More information about the R6RS
mailing list