This response makes no sense. Most of the functions in that page are not special forms. And both "car" and "first" are included! And "cdr" and "rest". And there are other functions that can be trivially obtained by the composition of two functions.
That doesn't change the fact that car and first are two names for one single function (the same applies to cdr and rest). (The point is that the absence of loop cannot be explained because it's not "needed".)
I assume you're thinking about Schemes `(let loop (...) ...)`, but that doesn't exist in Common Lisp. CL:LOOP is a looping macro with its own small DSL.
Loop is ugly but sometimes an ugly tool is the best one for the job. Format is ugly too, but same issue.
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.
Ack. I've never been able to wrap my head around iterate and it's non-standard, so I ignore it. (I also ignore the pretty printer because I don't understand it, even though it is standard.)
I'm not really sure who the intended audience for this is! I find it quite difficult to imagine that anyone who doesn't already know what the functions do could actually figure it out from the descriptions, eg. "CDR function returns cdr part of cell in the argument, that is list of all elements but first. CDR is identical to REST."
I used this site quite a bit when I was first introduced to Lisp.
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.
Very nice resource! I have a suggestion: add a search field that would just search the linked function documentation summaries (depth of 1 web crawl). As someone else mentioned, adding a new section for CLOS would also be useful.
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
22 comments
[ 3.1 ms ] story [ 67.8 ms ] thread[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.
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. :-)
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.
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
https://github.com/rongarret/ergolib
I'll pass...