[r6rs-discuss] [Formal] Reduce over-specification as well as under-specification.
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