Re: [srfi-11] LET-VALUES wrapup (was: Re: Another vote for more parens)
Lars Thomas Hansen 05 Jan 2000 14:15 UTC
Mike writes:
>Well, I still think LET-VALUES should reflect the (VALUES x) = x
>duality, but I think the change you suggest is better than no change
>at all.
Sorry for not adding that bit to the list of issues. Let me sum up:
You are suggesting that if E returns a single value v, then
(let-values ((I E)) ...)
would bind I to v, rather than binding I to (v) as I would have it, and
that if E returns other than one value, the program is in error. (The
alternative in the latter case is that it means something _different_ in
that case, e.g. binding I to the list of values, but I don't think
anyone believes that is a good idea.)
I'm not sure what your change buys us, but it removes the ability to
capture all returned values as a list.
Since I think it's actually useful to be able to capture all returned
values in a single list, reserving (LET-VALUES ((I E)) ...) for that
case and allowing (LET-VALUES (((I1 ... . In) E)) ...) as well, I am
going to stick with my (latest) proposed syntax and meaning.
--lars