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