I'm having difficulty understanding the workings of a bit of code that someone with more experience may comprehend:
(let ((x 0))
(loop for var in '(x)
do (set var 3))
x)
My expectation is that the expression should return 3, the new value of x, but it actually returns 0. Why does x not get reset? Is there another way to iterate over a list of variables and assign them values?