Simplified Common Lisp reference
jtra.cz
jtra.cz
Pardon a shameless plug, but I released the 4th edition of my Common Lisp book yesterday (free to read online, and book is CC licensed so you can share it): https://leanpub.com/lovinglisp
Reading the first few chapters of ANSI Common Lisp gave me a good understanding of the semantics of the language, and this provided me with a specific explanation of the functionality of each function. Together that was enough to get through my assignments for the class I was taking at the time. It was most helpful for things like the differences between eq, eql, and equal.
One of the nice things about CL programmers is that we're all pretty smart and we can disagree while acknowledging each others' points. PG also dislikes CLOS for example. I think he's wrong about that, but I respect his opinions.
If you don't want loop, you can always use iterate. :-)
[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))I'll pass...