Incidentally, there is a 2nd edition in French, but not (yet?!) in English.
Yes, it is hard, but reading is not a contest of "how many pages can I read per day". With this book, sometimes I just read one/day. Other times it's a negative number. Meaning, I need to go back a few pages. What matters most is the content, and this book has it. No pauses, no cheap humour, just pearls on every paragraph. That puts the burden on the reader. It's a book to be studied, not read.
It is hard because the prose is unreadable maybe because of a bad translation from French. The way sentences are constructed is Baroque to say the least.
I enjoy the way it is written, especially the lack of trying to make it fun and humorous. But I am a humanities sort who spends a good amount of time in literature where prose is a much more varied thing and you often have to think about the language itself, it is second nature to me. Likely the only programming book that I really enjoy reading and a welcome break from the rigid institutional style broken up with humor you often see in programming books.
Looking up the translator, she seems well respected in both technical writing and translation between French and English, so it may also be weird in French.
I think Queinnec is either big on literature or he was writing at a time before prescription and style guides took over academia in France (has it?). Looking at his website he makes no mention of literature or anything related beyond language general, but he does use the comma to for elaboration and context, not just to delimit inline lists. Looking at Lisp In Small Pieces I can't help but notice a strong resemblance to Henry James and wonder if his passion for language extends beyond programming. I also notice some parallels between his language use with lisp itself, but I am no where near good enough with lisp to be certain, his book is still well beyond me but I do enjoy it and the challenge it presents.
I remember Norvig comments on the book were very appraising (1) since he gave it 5 stars.
The code of this book is here (3)
I read it some twenty years ago. The terminology was new to me, something like fexpresion, nexpresion, ..., the difference being when and how the arguments are evaluated. At the same time I was reading macsima code, to learn how to develop a mathematical symbolic system. The book is mainly about the function eval, closures, and how to construct compiler. In a way is the reverse of 'practical common lisp'. It doesn't discuss any concrete implementation of Lisp, gc, servers, sockets or ffi. It is deep in how evaluation is done in Lisp but lacks a lot of other topics.
Perhaps a more practical approach to construct an optimizer compiler in Lisp is to study the code of sbcl, how it for example propagate constraints and declarations to optimize the code. Perhaps something like a JIT compiler (like hava hotspot) added to sbcl could be interesting. Also the code of Racket would be another source of interesting ideas, for example (2). Another idea is to study the code of Lush (by Yann LeCun and Leon Bottou)
Interesting, I liked l.i.s.p gradual exploration of various traits and the various reimplementations. But that's right it avoids many low level bits. It seems a cultural trait, since McCarthy's paper was also a virtual metacircular description.
About low level interfaces, there's another french book from back in the days:
Queinnec's attitude was that ALL forms of scoping are useful. In the 80s there was a class struggle between Lexical scoping, which prevailed, and everything else, which Q. detailed.
I just looked on ABEBooks - all of the copies were around $100 (used or new POD)! Too bad - it sounds interesting, but not at the moment $100 interesting.
Incidentally, there is a 2nd edition in French, but not (yet?!) in English.
Yes, it is hard, but reading is not a contest of "how many pages can I read per day". With this book, sometimes I just read one/day. Other times it's a negative number. Meaning, I need to go back a few pages. What matters most is the content, and this book has it. No pauses, no cheap humour, just pearls on every paragraph. That puts the burden on the reader. It's a book to be studied, not read.