[R6RS] summary of decisions regarding multiple values
dyb at cs.indiana.edu
dyb at cs.indiana.edu
Wed Jun 21 12:35:31 EDT 2006
> * Continuations created to evaluate an argument may
> require exactly one value, but are also free to
> accept more than one value, ignoring all but the
> first [R5RS, minutes of 26 April].
By my interpretation of exceptions item #42, such continuations must
always require exactly one value, i.e., are not free to accept more than
one value.
> * Continuations created to evaluate an argument may
> require exactly one value, or may require at least
> one value, but are also free to accept zero values
> by some ad hoc coercion, e.g. to the unspecified
> value [R5RS, minutes of 26 April].
Again, my interpretation was that such continuations must always require
exactly one value.
For what it's worth, the second paragraph in the description of
call-with-current-continuation in Section 6.4 of R5RS says that all
continuations other than those created by call-with-values take
exactly one value:
Except for continuations created by the {\cf call-with-values}
procedure, all continuations take exactly one value.
We've also voted to require begin to accept an arbitrary number of values,
so this should now read something like this:
Except for continuations created by {\cf begin} and the {\cf call-with-values}
procedure, all continuations take exactly one value.
Continuations created by {\cf begin} accept any number of values.
The sentence following the R5RS sentence above reads:
The effect of passing no value or more than one value to continuations
that were not created by {\tt call-with-values} is unspecified.
By my interpretation of exceptions item #42, we were effectively changing
this sentence to read something like this:
If zero values or more than one value are passed to a continuation
not created by {\cf begin} or {\cf call-with-values}, an exception
must be raised with condition type &values.
In any case, we clearly weren't all voting on the same thing, so we should
revote.
Kent
More information about the R6RS
mailing list