Wed Apr 14 13:26:30 EDT 2004
At Wed, 14 Apr 2004 19:12:04 +0200, Michael Sperber wrote:
> Can you present an argument as to why to internal modules shouldn't
> have library status, as they presently seem to have in PLT Scheme?
The only way that I know to get full SC (including `import-only')
involves adding support in the core syntax engine.
I'm fairly certain that I could improve `package' to make it more like
SC minus `import-only', but it's painful, and it probably has
algorithmic problems (much like the original hygienic systems).
Extending the core expander looks easy by comparison.
> I worry that even the top-level module system is already pretty hard
> to implement, looking at the time it took many implementations to even
> just catch up with SYNTAX-RULES. Adding internal modules as a
> required part would make this harder still.
I suspect that it's relatively easy to add SC `module' and `import'
into MS or old `syntax-case', but I haven't yet tried, so I may be
> Matthew> I think that MS modules are more important for portable and
> Matthew> modularized code, whereas SC modules are more useful for
> Matthew> building macros.
> Matthew> But a consistent syntax might be a good idea, anyway.
> You say this, but you don't really put up an argument for it except
> for saying that Schemers like internal DEFINE, so they'll like
> consistent syntax here, too.
The weakness of the argument reflects the weakness of my conviction.
(I would have a difficult time arguing for internal `define', too.)
> You also say that there are puzzling differences between top-level
> and internal define, and I'd say we should get rid of these. Do you
> have a feel as to how puzzling the differences between the internal
> and the top-level module system will be?
My intuition is that it will be very much like `define', but I don't
have much experience to back up my intuition.
More information about the R6RS