多値の扱い
Ypsilon
> (let ([hoge (values 1 3)]) hoge) #<values 1 3>
Mosh
mosh>(let ([hoge (values 1 3)]) hoge) 1
この辺り
The continuations of all non-final expressions within a sequence of expressions, such as in lambda, begin, let, let*, letrec, letrec*, let-values, let*-values, case, and cond forms, usually take an arbitrary number of values. Except for these and the continuations created by call-with-values, let-values, and let*-values, continuations implicitly accepting a single value, such as the continuations of
and s of procedure calls or the expressions in conditionals, take exactly one value. The effect of passing an inappropriate number of values to such a continuation is undefined.