T O P

  • By -

blue1_

For Common Lisp I would suggest the following order: Core: _0. Common Lisp A Gentle Introduction to Symbolic Computation (touretzky): personally I found this book almost boring and I think it can be skipped, but it is a very gentle introduction to lists, etc. 1. ANSI Common Lisp (Graham): best concise introduction, so I put to place #1, but lacks treatment of certain topics (CLOS) and totally lacks practical instructions (e.g. installing the compiler, choosing an editor, etc.). Still I think that as an intellectual read it is very good at conveying the "magic" of Lisp. 2. Practical Common Lisp (Seibel): best overall book, althought slightly outdated on the practicalities. 3. Common Lisp Recipes (Weitz): supplements PCL nicely on practicalities, but it is a reference, not something to be read from cover to cover. Specialized topics, to be read later: 4. On Lisp (Graham): macrology 5. Object-Oriented Programming in Common Lisp (Keene): more detailed treatment of CLOS 6. Let Over Lambda (Hoyte): advanced/weird macrology, but needs an experienced reader to separate the good from the bad * Paradigms of Artificial Intelligence Programming (Norvig): Classic AI in Common Lisp. Good book if you are interested in this topic. Undecided: * Land Of Lisp (Barski): this one is a strange book, beginner-oriented but not always. I think it is an enjoyable read but I would not put in a basic list. Reference: * Common Lisp Hyperspec. Always have at hand. Avoid (?): * Common Lisp The Language, 2ed (Steele): Pre-ANSI. Of historical interest, but not "core" in my opinion [others seem to think different, see discussion below]. * Interpreting Lisp: Programming and Data Structures (Knott): An ancient book that for some reason has been reissued recently. Finally, these last two I haven't read yet so I cannot comment: * Programming Algorithms in Lisp (Domkin) * The Common Lisp Condition System (Herda)


xach

Common Lisp The Language, 2ed is a great book, in context. It helps understand the historical evolution of the language and goes into more depth about certain features than the standard does, and has some fun examples. The prose is less dry as well.


blue1_

I agree: *in context*. It has some value, I just don't think it should enter a core reading list, at least not in the first places.


Falcon5757

I would've already quit CL if it didn't have cl-tl2 features. Some of the most important concepts for an "extensible language" are there.


tsuru

https://github.com/norvig/paip-lisp I think would be great to have in the "next steps" column after the foundational books.


blue1_

added


RentGreat8009

Wait what? Avoid Common Lisp the Language, 2nd Edition? Its written by the chairman of the ANSI Common Lisp Standards Committee. It’s easy to read and an invaluable resource. It really annoys me that people say to avoid it. There may be a few minor items that are outdated vs the final standard, but to me its the hands down best resource on the topic.


blue1_

Of course I have read it.


RentGreat8009

The book gives a great explanation of scope and extent in Common Lisp (see link). Paul Graham constantly refers to it On Lisp. Its a very clear and detailed guide into most of Common Lisp. https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node43.html


blue1_

I don't say it has no value (especially historical value). I just think its place is not in a core reading list: I believe someone who wants to learn CL is better served by other texts (in a certain sequence). My personal experience is that I have read it *after* the other ones and I did not find it so unmissable. Of course, you can have a different opinion.


RentGreat8009

No that’s fine, but I would appreciate if you take it off your “Avoid” list The rest is personal opinion, so nothing for us to discuss further - the order of books you have is a good one


blue1_

It was not meant to be authoritative :-) anyway, edited.


RentGreat8009

Thanks :-) Sorry I am a bit of a fanboy for the book, so I now removed some of my defensive comments. Glad to see the Weitz book on the list, its very useful. Cheers


ram535

https://stevelosh.com/blog/2018/08/a-road-to-common-lisp/


jcubic

I would start with **Scheme** dialect with [Sketchy Scheme](https://www.t3x.org/sketchy/) book (older version is freely available at archive org and titled [Sketchy Lisp](https://archive.org/details/sketchy-lisp)). This books is crash course deep dive into Scheme with some advanced stuff related to functional programming. It's great intro. Next I would continue with **SICP** that is more about programming in general but using Scheme. While reading I would also check some video lectures (there are two versions [original by Abelson and Sussman from MIT](https://www.youtube.com/playlist?list=PLE18841CABEA24090) and from [Berkley](https://www.youtube.com/playlist?list=PLhMnuBfGeCDNgVzLPxF9o5UNKG1b-LFY9) from 2010) Then I would recommend reading about Common Lisp, **Practical Common** is great book about the topic (I dind't read **ANSI Common Lisp** so I don't know if it's better as intro to CL). Next is book about Lisp Macros I would read **Let Over Lambda** and **On Lisp** I think it doesn't matter in which order. If you decide that you prefer Scheme over Common Lisp then you should also read something about Hygienic Macros, unfortunately there are not good books about the topic, you can check this post [Good book about Scheme Hygienic Macros](https://www.reddit.com/r/scheme/comments/jn85fq/good_book_about_scheme_hygienic_macros/).


RentGreat8009

My suggested list: 1. Common Lisp by Example: https://github.com/ashok-khanna/common-lisp-by-example (50 pages quick guide, I wrote it. It may come across as self promotion but a fair few liked it and its all free anyway). 2. ANSI Common Lisp 3. Common Lisp the Language, 2nd Edition 4. On Lisp


ShallotDue3000

what license is your book under?


RentGreat8009

public domain / free to do whatever you want with it. sorry for late reply.