[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)

This page is part of the web mail archives of SRFI 11 from before July 7th, 2015. The new archives for SRFI 11 contain all messages, not just those from before July 7th, 2015.

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.