Ray Dillinger scripsit:

> +1.  For debugging purposes, redefinition of macro forms *should* 
> cause all the call sites for that macro to be re-expanded.  But in 
> the case of schemes that don't want to keep the (unexpanded) 
> source code lying around in case of macro-redefinition, that 
> isn't a tractable requirement.

It's even less tractable in the common case of loading compiled code
into a REPL, and puts *very* tight constraints on compiled formats.
Either the compiled file must contain the source code inside, or it
must export a list of macros which were used in the source so that
the relevant procedures can be recompiled (from source which may be
unavailable) and reloaded.

I mean, c'mon:  you type (define-syntax let ...) and every bit of code
written in Scheme in the system has to be rebuilt before we can go on?
Flexible environments are nice to have, but that's asking an awful lot.

I think the converse demand, that definition bodies be expanded at
definition time, is *far* more plausible; interpreters and debuggers
can certainly keep the unexpanded source around as well.

-- 
John Cowan            http://www.ccil.org/~cowan     [email protected]
Uneasy lies the head that wears the Editor's hat! --Eddie Foirbeis Climo

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

Reply via email to