Let Over Lambda

Author: Doug Hoyte
4.0/5 · 200+ ratings

Let Over Lambda is one of the most hardcore computer programming books out there. Starting with the fundamentals, it describes the most advanced features of the most advanced language: Common Lisp. Only the top percentile of programmers use lisp and if you can understand this book you are in the top percentile of lisp programmers. If you are looking for a dry coding manual that re-hashes common-s…

Reviews

Liam

★ 3/5
While the book offers some genuinely interesting concepts and useful code samples, the writing itself is quite a struggle to get through. The prose is, frankly, awful and detracts significantly from the otherwise good material. It's a shame because the core ideas are solid, but the presentation makes it a chore to read.

Priya

★ 3/5
Lisp truly unlocks a world of possibilities for programming. It's a language where you can achieve almost anything you set your mind to.

Anya

★ 2/5
This book dives deep into advanced Lisp macro programming, so much so that a staggering 99% of its content is likely beyond practical application for most daily tasks. Beyond the technical density, the author's persistent, condescending lectures against anything outside the Lisp sphere quickly become tiresome. Approach this one with caution, and a healthy dose of skepticism regarding its real-world utility.

Anya

★ 5/5
This feels like a direct continuation of Practical Common Lisp, specifically volume 2. It's a great follow-up if you're still trying to grasp the hype around Common Lisp and its macros after finishing the first book. I was pleasantly surprised to discover that some of the macros detailed in 'Let Over Lambda' are actually built-in features in Clojure.

Liam

★ 4/5
This book is certainly opinionated, but it's also packed with valuable information. It's a compelling read that doesn't shy away from taking a stance.

Anya

★ 4/5
This book offers a fascinating exploration of metaprogramming, particularly focusing on Lisp macros. It really sparked my curiosity about features like macros, which are well-supported in many popular languages and can significantly boost productivity and capability.

Priya

★ 1/5
This reviewer found the argument about Scheme's single namespace being a flaw for macro construction to be unconvincing. While acknowledging Scheme as an otherwise excellent language, the critique presented in Chapter 3 doesn't hold up to scrutiny. The author seems to dismiss a core feature without a thorough exploration of its implications.

Anya

★ 3/5
This is hands-down the best macro book I've encountered, and if you're dabbling in any Lisp dialect, you absolutely need to pick it up. While the author's discussion of "duality of syntax" in section 3.7 felt a bit vague, leaving me wondering about the precise meaning and its connection to referential transparency, the overall value of the text remains undeniable. For those coming from Clojure, I'd strongly recommend getting acquainted with some Common Lisp as well; it'll significantly deepen your understanding of the concepts presented here.

Anya

★ 4/5
This book is truly excellent and definitely met my expectations. However, I found the benchmark comparing `sortf` and CL's sort on page 280 to be misleading. The author neglected to account for the time spent creating the function used in the benchmark, which appears to involve an expensive call to `build-batcher-sn`. While this specialized sort has its uses for fixed-size datasets where function creation can be amortized, the `sortf` macro implies creating the lambda form for single use, which could be a poor choice.

Priya

★ 4/5
This book dives deep into metaprogramming with Lisp macros, and while it's certainly the nerdiest read I've encountered lately, I found it surprisingly enjoyable. Once the concepts of quoting and backquoting clicked, the text became remarkably accessible, thanks to its well-chosen examples. It's a fun exploration of metaprogramming, even if you won't be churning out Lisp code immediately, and the humor, often poking fun at Scheme, adds a nice touch. The appendix on Emacs vs. Vi was a predictable but amusing read, especially considering the history of lexical scope in elisp.

Anya

★ 1/5
This book failed to provide the paradigm shift I was hoping for to truly understand Lisp. While acknowledging Lisp's historical significance, I found its syntax awkward and outdated compared to modern languages. The author's strong advocacy for macros and a non-functional style felt unconvincing, especially when compared to more elegant solutions found in languages like Haskell. Ultimately, our differing philosophies on language design and control made it difficult to connect with the author's perspective.

Anya

★ 5/5
This book is an incredible exploration of Common Lisp macros, really showcasing how Doug breaks down complex concepts. He dives into advanced macro types that enable surprisingly elegant solutions for intricate problems. The final chapter, with its Forth interpreter implementation, is absolutely mind-blowing! While it's definitely not for beginners to macros, it's an essential read for anyone keen on understanding the power and depth of sophisticated Lisp programming.

Liam

★ 4/5
This book is an absolute gem for anyone interested in macro programming. While the author's fervor for Lisp supremacy might come across as a bit intense, it's easily overlooked given the depth and practicality of the content. You'll find well-explained examples that guide you through building your own macro toolset, culminating in a fascinating Lisp-to-Forth-to-Lisp translator that truly showcases the power of the subject.

Liam

★ 5/5
This book was an absolute revelation, truly an eye-opener and a mind-bender. I particularly enjoyed the sections on Pandoric Macros, Compiler Macros, and my personal favorite, 'Lisp Moving Forth Moving Lisp.' While the author is quite opinionated and set in their ways, approaching the text with an open mind will undoubtedly lead to a thoroughly enjoyable reading experience.

Anya

★ 1/5
This book dives deep into macro programming in Lisp, covering everything from scope and closures to advanced topics like extending the language and parser, even macros that build macros. While the content is undeniably interesting and packed with valuable information, the author's fervent advocacy for Common Lisp's superiority became quite tiresome. It's a shame because the technical material itself is quite impressive.

Anya

★ 5/5
This book dives deep into LISP macros, and while it's an absolute must-read for anyone serious about the topic, you'll need to take your time with it. It's the kind of text that rewards slow, deliberate reading, and I anticipate returning to its pages often for deeper understanding.

Priya

★ 4/5
Prepare for your mind to be utterly blown by this incredible book. It's an experience you absolutely have to embrace.
Shelves
Doug Hoyte Computers Software Programming Nonfiction book Computer Science Technology Mathematics Engineering Technical Science

More like this


Eloquent JavaScript: A Modern Introduction to Programming

"A concise and balanced mix of principles and pragmatics. I loved the tutorial-style game-like program development. This book rekindled my earlies…

4.0/5 · 200+ ratings

Automate the Boring Stuff with Python: Practical Programming for Total Beginners

If you've ever spent hours renaming files or updating hundreds of spreadsheet cells, you know how tedious tasks like these can be. But what if you…

4.0/5 · 200+ ratings

Pro Git

Git is the version control system developed by Linus Torvalds for Linux kernel development. It took the open source world by storm since its incep…

4.0/5 · 200+ ratings

The Algorithm Design Manual

This volume helps take some of the "mystery" out of identifying and dealing with key algorithms. Drawing heavily on the author's own real-world ex…

4.0/5 · 200+ ratings

97 Things Every Programmer Should Know: Collective Wisdom from the Experts

Tap into the wisdom of experts to learn what every programmer should know, no matter what language you use. With the 97 short and extremely useful…

4.0/5 · 200+ ratings

Working Effectively with Legacy Code

Get more out of your legacy systems, more performance, functionality, reliability, and manageability.Is your code easy to change? Can you get near…

4.0/5 · 200+ ratings

Head First Design Patterns

You're not alone. At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know y…

4.0/5 · 200+ ratings

Learning Python

Portable, powerful, and a breeze to use, Python is the popular open source object-oriented programming language used for both standalone programs …

4.0/5 · 200+ ratings

Agile Software Development, Principles, Patterns, and Practices

Written by a software developer for software developers, this book is a unique collection of the latest software development methods. The author i…

4.0/5 · 200+ ratings

Programming Pearls

"The first edition of Programming Pearls was one of the most influential books I read early in my career, and many of the insights I first encount…

4.0/5 · 200+ ratings

The Clean Coder: A Code of Conduct for Professional Programmers

Programmers who endure and succeed amidst swirling uncertainty and nonstop pressure share a common They care deeply about the practice of creating…

4.0/5 · 200+ ratings

Head First Java

Learning a complex new language is no easy task especially when it s an object-oriented computer programming language like Java. You might think t…

4.0/5 · 200+ ratings