(let ((l (list 1 2 3)))
(let ((lambda-list
(loop for i in l collect
(lambda () (print i)))))
(loop for lam in lambda-list
do (funcall lam))))
3
3
3
NIL
(let ((l (list 1 2 3)))
(let ((lambda-list
(loop for i in l collect
(let ((j i))
(lambda () (print j))))))
(loop for lam in lambda-list
do (funcall lam))))
1
2
3
NIL
Собственно принимаю это как фичу, просто интересно стало, на каком этапе происходит связывание внутри тела lambda, если имеем такой результат в первом листинге?