Compare 

(define f (lambda (a) a))
(call-with-values (lambda () (values 3 3)) f)

vs

(call-with-values (lambda () (values 3 3)) (lambda (a) a))

The first one fails with

<unnamed port>:1:0: In procedure f:
<unnamed port>:1:0: Wrong number of arguments to #<procedure f (a)>

The second one gives 3. 

This is Guile 2.0.7.112-f5ea5.

The behavior of the first case makes (compose f g) fail when f takes less args 
tan g produces.

Regards

        Daniel




Reply via email to