call_with_values(producer, consumer)
Apply the function consumer
to the values returned by invoking producer
without arguments.
Return the value returned by consumer
.
call_with_values(^values('a, 'b), ^(x, y) [y, x])
// [b, a]
// `call_with_values` creates a continuation that
// can accept an arbitrary number of arguments.
let k = false
call_with_values(^callcc(^(kk) { k = kk; values(10, 20, 300)}), list)
// [10, 20, 300]
k(1, 2, 3)
// [1, 2, 3]
k(1, 2, 3, 4)
// [1, 2, 3, 4]