January 8, 2026
Pull, push, and plenty of pushback
Signals vs. Query-Based Compilers
Compilers get chatty as devs bicker over speed, confusion, and “been there, done that” vibes
TLDR: The piece says compilers are becoming question-driven to speed up coding tools like autocomplete, similar to how app updates (signals) work. Comments explode: skeptics want leaner tools or no compilers, others say it’s old news or unclear, while pragmatists push isolated code chunks for speed—because fast feedback matters.
Modern compilers—the tools that help your code autocomplete and jump-to-definition—are getting a makeover. The article says they’re moving from a slow, step-by-step assembly line to a fast, “ask me a question and I’ll fetch just that” model, kind of like how “signals” update app screens when data changes. Editors talk to compilers through the Language Server Protocol (LSP), and this query-first design keeps things snappy by only doing what’s needed right now. Sounds neat, right? Well, cue the comment section chaos.
The loudest voice? A doom bell. One critic drops a blunt “This isn’t good,” arguing we should fix the bloated toolchain instead and dream of a world where everything’s precomputed and cached—no compiler needed. Another camp shrugs and says the author’s “signals vs queries” distinction is fuzzy: if queries “pull” info, what about “push” updates like live reloads—aren’t they basically the same? Meanwhile, pragmatists chime in with actual tactics: keep code chunks isolated and even inject a fake “completion” token to predict the next move—chef’s kiss efficiency.
Then the veterans stroll in with the “back in my day” energy: Eclipse and Java had incremental builds in 2001. So yes, the tech is hot, but the crowd is split between innovators, minimalists, and historians. The only consensus? Faster tools, fewer coffee breaks waiting on builds.
Key Points
- •Modern compilers for LSP-integrated editors use a query-based architecture to enable interactivity.
- •Traditional pipeline compilers parse code into an AST and proceed through stages toward a binary, which is slow for real-time updates.
- •Query-based compilers are organized around queries, inputs, and a central “database,” executing only needed computations.
- •Editor features like autocomplete and “Go to Definition” map to fine-grained compiler queries that trigger minimal parsing and resolution.
- •This approach is conceptually similar to Signals in UI rendering, emphasizing incremental, dependency-driven updates.