[r6rs-discuss] "Unspecified"

Aubrey Jaffer agj at alum.mit.edu
Sun Sep 24 21:46:06 EDT 2006


 | From: William D Clinger <will at ccs.neu.edu>
 | Date: Fri, 22 Sep 2006 13:00:03 -0400
 | 
 | I am posting this as an individual member of the Scheme
 | community.  I am not speaking for the R6RS editors.
 | 
 | ... They did
 | require certain contexts that, in an intuitive
 | sense, should ignore their values, to ignore their
 | values in fact, but 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 ...)))
 |       ...)

Value-ignoring code can be made R5RS and R6RS-compatible using BEGIN:

    (let* ((v (f ...))
           (ignored (begin (vector-set! v i ...) #f))
           (v2 (g v ...)))
      ...)

I think the utility of erring on missing captured values outweighs the
bother of wrapping (begin ... #f) around ignored bindings.



More information about the r6rs-discuss mailing list