I found the following example of a strange behaviour of command EVAL inside LET constructions. Executing the code
A very similar code
Can someone explain this situation?
(setf z 666)
(let ((z 14))
(print z)
(eval '(setf www z))
)
results in printing the value 14 of the variable z inside LET construction, but the variable www takes the value 666, not 14! A very similar code
(setf z 666)
(let ((z 14))
(print z)
(setf www z)
)
results in the value 14 of the variable www, as expected. Can someone explain this situation?
To understand LISP, you must first understand LISP.