You have let [0], why would you need a special loop function?
[0] http://jtra.cz/stuff/lisp/sclr/let.html
Edit:
That is to say, this is a simplified reference, and loop is a macro, not a special form.
[0] http://jtra.cz/stuff/lisp/sclr/let.html
Edit:
That is to say, this is a simplified reference, and loop is a macro, not a special form.
(loop :for i :below 5
:when (evenp i) :collect i)
;=> (0 2 4) (prog ((result '())
(i 0))
loop
(when (>= i 5)
(return (reverse result)))
(when (evenp i)
(push i result))
(incf i)
(go loop))