> I don't know the specifics.  I suspect the short answer is "Low-level macro
> systems".  Clearly in some Schemes, modules are a separate language from
> Scheme itself, whereas in others they are part of it.

A low-level macro system would, by itself, only allow transformation
of a module declaration into define, lambda, and set! forms and their
ilk.  Is that really what everyone does?  I was assuming that many
implementations were using primitives for wiring certain environments
together, e.g. MIT Scheme's procedures `lexical-assignment',
`lexical-unbound?', etc.

What does Chicken do?  Gambit?  Gauche?  PLT Scheme?   SCSH?  Do they
all just transform module forms into define, lambda, set!, etc., or
are there other primitives involved?  I've been told that PLT Scheme
has an elaborate mechanism along these lines.

I will go read some code, but I would love to hear from implementers
about how their implementations' module systems work under the covers.

_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to