On Thu, May 19, 2011 at 1:10 PM, Andy Wingo <[email protected]> wrote:

> I do not agree with the note that permitting any number of values to be
> returned from `set!' et al is incompatible.  It is not incompatible with
> implementations, as it widens the scope of what they may do.....


Requiring a single unspecified value means that:

    (let ((x (if #f 'never))) <stuff that does not depend on x>)

is legal Scheme code (based on the interpretation that initializers *must*
return a single value, unspecified or not).

So, allowing implementations to return multiple or zero unspecified values
would actually shrink the language from what it used to be.   This is what I
observe the WG tries very hard to avoid, especially if "lots of existing
code" depends on the status quo.

I know nothing about the existing code that depends on this particular
feature.   I would personally have preferred "any number", as it's handy for
detecting buggy code.
_______________________________________________
Scheme-reports mailing list
[email protected]
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports

Reply via email to