📖 Overview
Let Over Lambda is a programming book focused on Common Lisp macros and domain-specific languages. The text examines advanced macro techniques and demonstrates how to leverage Lisp's metaprogramming capabilities.
The book progresses through increasingly complex macro implementations while exploring concepts like closures, read-macros, and anaphoric macros. Each chapter contains working code examples and builds upon previous material to develop sophisticated macro systems.
The author draws from his professional experience to present practical applications and real-world use cases for macro programming patterns. Technical discussions are interspersed with historical context about Lisp's evolution and its influence on modern programming languages.
The book makes a case for Lisp's macro system as a powerful tool for solving complex programming challenges. Its core message centers on the relationship between code flexibility and programmer productivity.
👀 Reviews
Readers describe Let Over Lambda as an advanced Lisp/macro programming book that requires solid programming experience to follow. The book maintains a 4.21/5 rating on Goodreads and 4.4/5 on Amazon across 100+ total reviews.
Readers appreciated:
- Deep technical insights into macro systems
- Practical examples of domain-specific languages
- Detailed explanation of closures and functional programming concepts
Common criticisms:
- Too complex for intermediate programmers
- Aggressive tone toward other programming paradigms
- Some examples feel contrived or impractical
- High price point ($49.99+)
Several readers noted the book works better as a reference than a tutorial. One reviewer called it "fascinating but occasionally frustrating." Another said it "opened my eyes to what's possible with macros but I wouldn't recommend it to most programmers."
Some disagreed with the author's strong opinions about Common Lisp superiority, with one calling the writing style "needlessly confrontational."
📚 Similar books
On Lisp by Paul Graham
This text delves into advanced macro techniques and bottom-up programming methodology in Common Lisp.
The Art of the Metaobject Protocol by Gregor Kiczales This work explains the implementation details and theoretical foundations of CLOS's metaobject protocol.
Structure and Interpretation of Computer Programs by Harold Abelson, Gerald Jay Sussman The book explores programming concepts through Scheme while focusing on abstraction and metalinguistic techniques.
Common Lisp: The Language by Guy L. Steele This reference text covers Common Lisp's features and implementation details with technical depth and precision.
Paradigms of Artificial Intelligence Programming by Peter Norvig The text demonstrates advanced Common Lisp programming through the implementation of classical AI algorithms and systems.
The Art of the Metaobject Protocol by Gregor Kiczales This work explains the implementation details and theoretical foundations of CLOS's metaobject protocol.
Structure and Interpretation of Computer Programs by Harold Abelson, Gerald Jay Sussman The book explores programming concepts through Scheme while focusing on abstraction and metalinguistic techniques.
Common Lisp: The Language by Guy L. Steele This reference text covers Common Lisp's features and implementation details with technical depth and precision.
Paradigms of Artificial Intelligence Programming by Peter Norvig The text demonstrates advanced Common Lisp programming through the implementation of classical AI algorithms and systems.
🤔 Interesting facts
🔷 "Let Over Lambda" draws its title from the concept of closures in programming, where an outer (let) scope retains values used by an inner (lambda) function - a foundational concept in functional programming.
🔷 Author Doug Hoyte wrote the first draft of the book when he was just 23 years old, making him one of the youngest authors of an advanced programming language text.
🔷 The book focuses heavily on Common Lisp macros, a programming feature that allows code to write code - a concept so powerful that some modern languages deliberately exclude it for safety reasons.
🔷 Unlike most programming books that recommend against using global variables, "Let Over Lambda" controversially advocates for their strategic use in certain scenarios.
🔷 The book's source code is itself written in a unique literate programming style using a custom system called LOG4CL (Literate Object Generator for Common Lisp), allowing the book's text and code to be generated from the same source files.