48 ms·
Coming from Common Lisp multiple value return is usually used when there are some non essential values to return in addition to a primary value. Unless you spec
by Guthur 12y ago
Coming from Common Lisp multiple value return is usually used when there are some non essential values to return in addition to a primary value. Unless you specifically bind those non essential values are discarded.
(defun foo () (values 1 :quux))
(+ (foo) (foo)) => 2
(multiple-value-bind (x y)
(foo)
(print y)) => :foo
If you are returning an explicit aggregation like an array then it's not true multiple value return in my opinion.