Re: [Scheme-reports] ANN: first draft of R7RS small language available
Andre van Tonder 03 May 2011 13:40 UTC
On Tue, 3 May 2011, Andy Wingo wrote:
> On Tue 03 May 2011 14:52, Andre van Tonder <andre@het.brown.edu> writes:
>
>> (let ((else #f))
>> (cond (else (display "else clause matched"))))
>>
>> should be equivalent to
>>
>> (let ((x #f))
>> (cond (x (display "else clause matched"))))
>
> Playing devil's advocate here... what about this one?
>
> (let ((else #f))
> (quote else))
>
> I think Andrzej's argument is that cond treats `else' not as an
> identifier but as a datum, as `quote' does.
The problem is that QUOTE always contains a datum, which is not subject to
alpha renaming. On the other hand, in
(let ((else #f))
(cond (else (display "else clause matched"))))
the first position in the COND clause can actually be a variable, and therefore
is not protected from alpha renaming.
_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports