Malice
3/11/2016 10:04:00 PM
My understanding might be flawed, but here it goes:
VALUES allows to return multiple values. (values a) returns A, (values a b) returns A and B, as multiple values.
(values) returns no values (which is kind of unusual in Lisp, afaik).
Now, let's say that we want to create a new special variable:
(defparameter *x* (values))
*x* => ?
In my implementation, SBCL sets *x* to NIL. Is this desired? If so, why?