Hello.

Why does it return -1? Could anyone explain?
(Comments are mine.)

(call-with-values (lambda () (values 4 5))
                  (lambda (a b) b)) ; a is 4 and b is 5; return 5
⇒ 5

(call-with-values * -)
⇒ -1

More:

(call-with-values + +)
0

(call-with-values + -)
0

(call-with-values - -)
ERROR: Wrong number of arguments to -
ABORT: (wrong-number-of-args)

https://gnu.org/software/guile/manual/guile.html#Multiple-Values




Reply via email to