Ensures unique names for all the variables in a groups of forms.
The variables to be rebound.
A body of forms, the variables in which should be unique.
Returns the body wrapped in a form that creates unique names for each variable.
wrapped in a form which creates a unique name for each of the variables (compare with
) and binds these names to the values of the variables. This ensures that the body can refer to the variables without name clashes with other variables elsewhere.
(defmacro lister (x y)
(rebinding (x y)
'(list ,x ,y)))
(lister i j)
(LET* ((#:X-77 I)
(LIST #:X-77 #:Y-78))
LispWorks User Guide and Reference Manual - 22 Dec 2009