[r6rs-discuss] Proposed features for small Scheme, part 9: modules

Brian Harvey bh at cs.berkeley.edu
Mon Oct 12 10:48:11 EDT 2009


> If we keep cond-expand as macro-time construct and module form
> as meta construct (that is, something that can be recognized before
> macro expansion, as in R6RS), then the answer is NO.

Personally, I couldn't care less about modules -- I'd be happy for WG1 Scheme
not to have them -- but it's very important to me that there be no such idea
as "macro-time" or "compile-time" or anything-time in WG1 Scheme.  There is
only REPL-time.

I'm not saying that smart compilers can't do things in a different order to
be efficient, as long as they can prove that their optimization gives the
same result as a plain simple REPL.

This is what makes it worth having two Schemes!  It's so that clever compiler
people can define an incomprehensible language that only they can use, and
call it WG2-Scheme, and meanwhile the rest of us can have Lisp-done-right.

So, for example, if you can't have macros without having "macro-time," then
WG1 should have no macros.  (But of course that isn't the case.)



More information about the r6rs-discuss mailing list