Joo ChurlSoo wrote:
> I'd like to know why multiple-values syntax can not be used in `named
let'.
>
> (srfi-let lp ((a 1) (b 2) (c 3)) (list a b c)) ---> (1 2
3)
> (srfi-let lp ((a b c (values 1 2 3))) (list a b c)) --->
bad syntax error
In this case it seems obvious what the
arguments of the procedure LP should be.
In other cases, in particular when rest
arguments enter the scene, it is not so clear.
Consider this:
(let lp (((values . as) (values))
((values . bs) (values)))
<<something>>)
Now, which parameter list does LP have,
to which variable(s) are the actual
arguments bound, and why?
The approach to this problem taken in
SRFI 71 is to (implicitly) ask people to
use a different mechanism than multi-valued
named LET in these cases.
Sebastian.