[r6rs-discuss] "Unspecified"

From: AndrevanTonder <andre>
Date: Mon Sep 25 06:27:54 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
Received on Mon Sep 25 2006 - 06:25:47 UTC

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