[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: multiple values
The question is whether you want to catch your personal errors, or you
want to catch everyone else's errors.
As an implementor, I would like to signal an error whenever someone
attempts to return (values ...) to a context where multiple values
aren't expected, or something other than (values ...) to a context
expecting multiple values. Requiring "(values e)" to be the same as
"e" makes it impossible to do this. As you pointed out in your note,
this won't affect anyone who doesn't like this behavior, since they
can always create their own versions of "values" and "with-values"
that circumvent the error checks.
Note that I'm not asking for a requirement that "(values e)" be
distinct from "e", only that we not require that "(values e)" be
the same as "e". So it doesn't rule out an implementation that
automatically truncates multiple values.