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