Lisp System Implementation
This book delves straight into the internals of an interactive LISP system. Emphasis is on compilation to abstract machine code, but lots of topics will be discussed at length, including:
LISP data objects, syntax analysis, closure conversion, lambda lifting, operational semantics, bytecode generation, bytecode interpretation, primitive functions, bootstrapping LISP code, macro expansion, lexical and dynamic binding, tail call elimination, garbage collection, non-local exits, the read-eval-print loop (REPL), reading and printing LISP objects, input and output ports, error handling, heap image files, etc …
The C and LISP code in this book is comprehensible rather than clever. In the final part of the book, compilation of LISP-N, compilation to stand-alone binaries, and compilation to native machine code are outlined.
Source: www.t3x.org