[r6rs-discuss] [Formal] Reduce over-specification as well as under-specification.
On Nov 16, 2006, at 12:21 PM, Andre van Tonder wrote:
> On Thu, 16 Nov 2006, Felix Klock wrote:
>
>> 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.
>
> This is not quite sufficient if you need to nest let-syntax.
Do you mean nest in the sense of:
(let-syntax ((x (let-syntax ((y (syntax-rules () ...))) ...))) ...)
or in the sense of:
(let-syntax ((x (syntax-rules () ((x foo) (let-syntax
((foo ...)) ...))))) ...)
?
I agree that in the former case, one needs to think about phases. I
do not see an immediate requirement for phases in the latter case (it
depends on what is in the ellipses, of course).
The former case is not expressible in portable R5RS, correct?
Because I think what this is all boiling down to is that we don't
want to force people who only write R5RS macros to have to start
thinking about phases, and we're trying to find the right way to say
that using the language of the R^{5.91}RS report...
-Felix
Received on Thu Nov 16 2006 - 12:31:52 UTC
This archive was generated by hypermail 2.3.0
: Wed Oct 23 2024 - 09:15:00 UTC