scheme at bcdev.com
Mon Oct 2 14:16:46 EDT 2006
On 10/2/06, AndrevanTonder <andre at het.brown.edu> wrote:
> If zero
> values were returned and an inappropriate number of values error had been
> raised immediately, such data structures could not even exist. That would be a
> powerful gurantee.
This seems the clearly correct solution to all the back and forth
about _the_ unspecified value. All places in the current draft that
refer to 'the unspecified value' would be better off returning no
values. The places where the draft reads 'an unspecified value' have
the normal meaning for unspecified, i.e. implementation dependant,
might be #t, `foo, or 42, just don't count on it.
Returning no values has the correct REPL behaviour, and the fact that
it will result in an error when given to a continuation expecting one
value is probably a feature rather than a bug.
If that 'feature' is undesirable, perhaps implementations could choose
to coerce no values to their #<void> value as needed unless they've
seen a #!r6rs comment.
More information about the r6rs-discuss