[r6rs-discuss] "Unspecified"

AndrevanTonder andre at het.brown.edu
Mon Sep 25 06:25:47 EDT 2006


On Mon, 25 Sep 2006, Marcin 'Qrczak' Kowalczyk wrote:

> William D Clinger <will at ccs.neu.edu> writes:
>
>> that partial solution does not solve the problem for other
>> R5RS-compatible code, e.g.
>>
>>     (let* ((v (f ...))
>>            (ignored (vector-set! v i ...))
>>            (v2 (g v ...)))
>>       ...)
>
> Ignoring R5RS compatibility, my preferred way for writing such code
> would be:
>
>   (define v (f ...))
>   (vector-set! v i ...)
>   (define v2 (g v ...))

This is also r6rs-incompatible.  Of course I agree that the initial
example is morally wrong and deserves no special dispensation to make it 
r6rs-compatible ;-)  The right way has always been

  (let ((v (f ...)))
    (vector-set! v i ...)
    (let ((v2 (g v ...)))
       ...)

and would work in both r5rs and r6rs.

Cheers
Andre




More information about the r6rs-discuss mailing list