[r6rs-discuss] R6 counterproposal

From: Lynn Winebarger <owinebar>
Date: Tue, 29 May 2007 12:09:20 -0400

R. Kent Dybvig wrote:
>> (1) Expressing defmacro alone is not enough. You have to be able to
>> express at least macroexpand as well (and this has a number of
>> consequences which require you to do even more).
>
> Agreed, and to simulate full Common Lisp macros one would have to provide
> some access to the compile-time environment. Individual implementations
> of syntax-case support these things in various ways, and perhaps r7rs will
> as well, but we didn't want to bite off too much for r6rs.

    While syntax-case is a great improvement over syntax-rules, it's
hygiene breaking mechanism leaves something to be desired. Unfortunately,
the very mechanism that makes referential transparency and hygiene
practical, the lazy propagation of scoping information and marks,
also makes it difficult to interpret what (datum->syntax template-id
datum) does when you get an expression that's been heavily munged already.
    More direct access to the scoping information and hygiene mechanism
might be the solution, but that obviously depends on how that access is
designed.

Lynn
Received on Tue May 29 2007 - 12:09:20 UTC

This archive was generated by hypermail 2.3.0 : Wed Oct 23 2024 - 09:15:01 UTC