[plt-scheme] Why multiple values?
This is undoubtedly a basic question, but I don't think I quite grasp the concept behind (values ...). I know I can write, say
(define-values (x y z) (values 1 2 3))
but I don't understand why this construct is needed. Couldn't I just as easily write
(define x 1)
(define y 2)
(define z 3) ?
I kind of suspect values is there because it supports some programming idiom, or because it is needed in conjunction with some other language feature, but I'm not sure what.
===
Gregory Woodhouse
"Mathematics is the science of patterns."
--Lynn Arthur Steen, 1988