[r6rs-discuss] [Formal] Reduce over-specification as well as
pfr6rs at pnkfx.org
Thu Nov 16 12:15:24 EST 2006
On Nov 15, 2006, at 11:18 PM, Abdulaziz Ghuloum wrote:
> On Nov 13, 2006, at 10:36 AM, William D Clinger wrote:
>> The main thing programmers need to know about phase
>> levels is that they matter only for procedural macros
>> and for libraries used by procedural macros. With the
>> draft R6RS, the easiest way to cope with the phasing
>> problems in portable code is to avoid all use of the
>> (r6rs syntax-case) library. If that were to remain
>> true in the R6RS, then the R6RS ought to say so.
> The above statement is incorrect. You will have to deal with
> phases whenever you write a macro whether it is written using
> syntax-rules, identifier-syntax, or syntax-case. I explained
> the detains in my formal comment regarding phases (it did not
> make it to r6rs-discuss yet).
Would you agree that if all that you use is syntax-rules (no syntax-
case, no identifier-syntax, etc), then the only thing you ever need
to import for expand is syntax-rules?
If that is the case, then I assert that it will always be sufficient
to (import r6rs), which imports syntax-rules for expand, and
therefore programmers will not have to think about phases further.
So Will's statement may need _slight_ revision, but overall including
such a statement seems sensible; programmers who are writing non-
procedural macros should not have to think about phases.
More information about the r6rs-discuss