This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home. For a version of this page that may be more recent, see MultipleValuesCowan in WG2's repo for R7RS-large.


2012-11-23 13:49:44

Multiple values procedures

(call-with-all-values producer ... consumer)

Invoke the producers in arbitrary order and pass all values returned by them in the given order to consumer. This extends call-with-values by allowing more than one producer. Equivalent to Common Lisp's multiple-value-call.

(values-list list)

Returns the elements of the list as multiple values. Equivalent to Common Lisp's values-list.

Multiple values syntax

(set!-values (lambda-list) expression)

Assigns the values returned by expression to the variables in lambda-list. Returns an undefined value. Equivalent to Common Lisp's multiple-variable-setq.

Is this module even worth having any more? Most of its former content is part of WG1 now.