Node:SRFI-11, Next:, Previous:SRFI-10, Up:SRFI Support



39.10 SRFI-11 - let-values

This module implements the binding forms for multiple values let-values and let-values*. These forms are similar to let and let* (see Local Bindings), but they support binding of the values returned by multiple-valued expressions.

Write (use-modules (srfi srfi-11)) to make the bindings available.

(let-values (((x y) (values 1 2))
             ((z f) (values 3 4)))
   (+ x y z f))
=>
10

let-values performs all bindings simultaneously, which means that no expression in the binding clauses may refer to variables bound in the same clause list. let-values*, on the other hand, performs the bindings sequentially, just like let* does for single-valued expressions.