[r6rs-discuss] [Formal] Reduce over-specification as well as under-specification.

From: Felix Klock <pfr6rs>
Date: Thu Nov 16 12:15:31 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.

-Felix
Received on Thu Nov 16 2006 - 12:15:24 UTC

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