I'm not a professional reviewer. But I program a lot, and for a living. After more than 15 years of experience in algorithm development and user interface design, to name some extremes, I get the feeling that "traditional" computer programming languages like C (C++, C#, Objective C) and Pascal (Modula, Oberon, ADA)
and even oldtimers as Cobol and Fortran tend to develop, or rather mature, into languages getting closer and closer to Lisp, Algol, and their ultimate offspring, Scheme.
This is not without reason.
But although the many qualities of Lisp have long since been known in academia, they need time and, more important, good reference material, to find their way into the real world.
Lisp programmers know the value of everything, but the cost of nothing, it is said. Christian Queinnec neatly fills the gap in our knowledge in a book that is a hard read because of the density of the content, but also a fun book because all the source is there (available through the Internet, of course) to experiment with.
You will not only gain insight into the workings of your Lisp system. You will gain insight into the basic elements of computer programming languages and their reason for being, their implementation, and the benefits and costs they will bring you.
All in all, one of the best books on Lisp I have ever almost, but not completely grokked.
I sincerely believe that tomorrow's programming languages, whether they be called C** or Delphi 2010, will be closer to current Lisp than to current C or Pascal, and a way to efficiently implement these languages is available here and now.
The book covers all standard material like direct interpretation, compilation towards a virtual machine using bytecodes, and compilation to C. New material is found in the chapter on macro's , a subject that has regained much interest of late. A broad variety of programming styles is used to illustrate all concepts.
There is only one drawback to the book. It won't teach you Lisp, or Scheme. That is, unless you already know it.