On Lisp
Written by Paul Graham
440 pages, about 9 hours of reading
Chaptra reads alongside you — AI insights, chapter breakdowns and reader discussions for every book. Join free
About this book
Read it with a club
Small groups reading the same books and talking as they go.
News
- 1 member
- 1,813 discussions
- Active 5h ago
Read On Lisp alongside people who are reading it too.
Also here: News Bulletin, Just Joking....
Chaptra Prime — paid clubs, every club feature, and unlimited reading support, for $5 a month or $60 once.
See PrimeReading guide
Themes, characters and key ideas in On Lisp, written by Chaptra AI.
- about 50 hours
- advanced
- instructive
- analytical
- challenging
Paul Graham's "On Lisp" is a seminal text that serves as the definitive guide to advanced Lisp programming for experienced developers. It champions a unique "bottom-up" programming style, leveraging Lisp's powerful metaprogramming capabilities, particularly macros, to build domain-specific languages and extend the language itself. The book is not merely a syntax manual but a profound exploration of Lisp's philosophy, demonstrating how to design and implement elegant, efficient, and highly customizable software solutions. It's a practical collection of techniques that unlocks Lisp's full potential, transforming how programmers approach problem-solving.
“The way to become a good Lisp programmer is to be willing to get a little lost.”
Key themes
- Metaprogramming and Language Extensibility
- This theme explores Lisp's unparalleled ability to manipulate its own code as data, primarily through macros. The book meticulously details how macros can be used to extend the language, create new syntax, and generate code, effectively allowing programmers to build domain-specific languages (DSLs) within Lisp. This concept is fundamental to Lisp's power and is presented as a superior alternative to merely using a fixed language.
- Bottom-Up Programming and Abstraction
- This is the central philosophical and practical theme of the book. Graham argues for building software by creating layers of abstraction, starting from the most primitive operations and gradually building up to higher-level, problem-specific constructs. This approach leverages Lisp's flexibility to create a language tailored to the problem at hand, rather than forcing the problem into a rigid, pre-defined language structure. It emphasizes designing tools and mini-languages that make the final solution elegant and concise.
- Efficiency and Expressiveness
- Graham addresses the common misconception that Lisp is inherently slow. He demonstrates how Lisp's expressive power, combined with careful programming and optimization techniques, can lead to highly efficient code. The book covers strategies for writing performant Lisp, including compiler interactions, data structure choices, and algorithmic considerations, proving that expressiveness does not have to come at the cost of speed.
Worth discussing
How does the 'bottom-up' programming style advocated by Graham differ from more conventional 'top-down' or 'object-oriented' approaches, and what are its advantages/disadvantages?
Chapter-by-chapter breakdowns, character arcs and the full thematic analysis come with a free account.
Discussions
No one has started one yet
Questions this book opens up
No discussions yet
Be the first to start a discussion about this book!
Sign up to start the discussionReviews
No reviews yet
Be the first to review this book!