Всем привет, а как можно сделать динамический binding в выражении, к примеру, чтобы выполнялся код наподобие
(let ((form '(+ a 1)))
(let ((a 3))
(eval form)))
Нужно здесь -
(defmacro cond-it (&body body)
`(loop for (p clause) in ',body
for it = (eval p)
when it
do (let ()
(declare (special it))
(return (eval clause)))
finally (return nil)))