[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [srfi-11] LET-VALUES wrapup (was: Re: Another vote for more parens)

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.