[Scheme-reports] "the result is unspecified" vs "unspecified values" Andy Wingo 05 Jan 2013 19:10 UTC

I think the R6RS did the right thing in allowing e.g. `(set! foo 10)' to
result in 0 values, and that R7RS did the wrong thing in reverting to
the R5RS "the result is unspecified".  Some expressions just don't have
useful values, and forcing implementations to produce a value in that
case hides bugs, producing programs with less meaning.

To make an analogy: why encourage programs to detect the letrec
restriction, while preventing them from detecting places that treat an
"unspecified value" as a real, useful value, as is the case when an
unexpected number of values is returned to a continuation?  The least
the specification could do on this point would be to _allow_
implementations to signal an error in this case.

Anyway, I feel that the WG made a big mistake in this regard, and wanted
to repeat my sentiments.  No need for an argument here, we've had it
already.

Andy
--
http://wingolog.org/

_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports