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

From: Felix Klock <pfr6rs>
Date: Thu Nov 16 13:03:57 2006

On Nov 16, 2006, at 12:53 PM, Andre van Tonder wrote:

> On Thu, 16 Nov 2006, David Van Horn wrote:
>
>> Andre van Tonder wrote:
>>> I believe offhand it is supposed to work in r5rs, but you will
>>> probably
>>> be able to find someone who disagrees with that, and they may be
>>> right.
>>
>> No, it is not allowed in R5RS since the RHS of the let-syntax
>> binding must be a transformer spec, and a transformer spec is
>> defined as an instance of syntax-rules.
>
> Sorry, yes. That was an obvious mistake on my part. I withdraw my
> comment in reponse to Felix's post. I now agree that Felix's
> statement supporting Will Clinger's original assertion was correct.

It was still a reasonable point to raise; R^{5.91}RS does extend the
grammar to allow expressions as the <transformer spec>, which I had
forgotten about.

If there were a clear syntactic marker distinguishing the two cases,
e.g. if the grammar were changed to:

<transformer spec>
   --> (syntax-rules (<identifier>*) <syntax rule>*)
    | (transformer <expression>)

then we could easily describe the rule involved here: "if you don't
use the transformer form of a <transformer spec>, then you don't need
to think about phases."

But I suspect this idea will not garner much support.

Nonetheless, we should formulate and state some rule for the
programmers who don't want to think about phases.

-Felix
Received on Thu Nov 16 2006 - 13:03:52 UTC

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