«2026 update: Let Over Lambda was published in 2008, to align with the 50th anniversary of Lisp's invention in 1958. A lot has changed since then, in both Lisp and programming practice in general. Although my thinking and opinions have evolved since, I still believe the book holds up well as a tutorial and explanation of why Lisp so special. Going forward, the entire book is free to read online (HTML, PDF). Happy lisping»
Let Over Lambda is one of the most advanced books on Common Lisp macros.
In this book authors shows the great possibilities that unhygienic macro system gives. He implements closures using Let Over Lambda pattern, shows usage of anaphoric and reader macros and also construct some kind of OOP system out of abilities that CL macro system provides.
Good. Get either SBCL or CCL for it. As for the editor, on modern 64 bit machines, trying setting up either Mine or Lem. On legacy 32 bit ones, Emacs+Slime+SBCL/CCL.
https://letoverlambda.com/
«2026 update: Let Over Lambda was published in 2008, to align with the 50th anniversary of Lisp's invention in 1958. A lot has changed since then, in both Lisp and programming practice in general. Although my thinking and opinions have evolved since, I still believe the book holds up well as a tutorial and explanation of why Lisp so special. Going forward, the entire book is free to read online (HTML, PDF). Happy lisping»
Let Over Lambda is one of the most advanced books on Common Lisp macros.
In this book authors shows the great possibilities that unhygienic macro system gives. He implements closures using Let Over Lambda pattern, shows usage of anaphoric and reader macros and also construct some kind of OOP system out of abilities that CL macro system provides.
As a good example of what Common LIsp can do in real life:
https://en.wikipedia.org/wiki/ACL2
On more mundane software, both Maxima and FriCAS are good examples (Math CAS).
On games/engines, there's Kandria.
Good. Get either SBCL or CCL for it. As for the editor, on modern 64 bit machines, trying setting up either Mine or Lem. On legacy 32 bit ones, Emacs+Slime+SBCL/CCL.