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



>>>>> "Lars" == Lars Thomas Hansen <lth@xxxxxxxxxxx> writes:

Lars> 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.

Lars> Sorry for not adding that bit to the list of issues.  Let me sum up:

Lars> You are suggesting that if E returns a single value v, then

Lars> 	(let-values ((I E)) ...)

Lars> would bind I to v, rather than binding I to (v) as I would have it, and
Lars> that if E returns other than one value, the program is in error.

Right.

Lars> I'm not sure what your change buys us, but it removes the ability to
Lars> capture all returned values as a list.

Also right.  I've often had LETs (and, even more often, LET*s) where
some of the RHS return multiple values, and some do not.  The
extra parentheses are not very esthetically pleasing.  I admit you'll
lose functionality, but it's functionality I've never ever wanted
programming --- and I've used MzScheme's LET-VALUES and LET*-VALUES *a
lot*.

So both are reasonable choices, but my suggestion would please me more
...

-- 
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla