frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Against Query Based Compilers

https://matklad.github.io/2026/02/25/against-query-based-compilers.html
24•surprisetalk•1d ago

Comments

armchairhacker•1d ago
> In Zig, every file can be parsed completely in isolation...every name needs to be explicitly declared (there’s no use *)...

> In contrast, you can’t really parse a file in Rust...Expanding macros requires name resolution, which, in Rust, is a crate-wide, rather than a file-wide operation...Similarly, the nature of the trait system is such that impl blocks relevant to a particular method call can be found almost anywhere...

matklad doesn't even mention dynamic languages, where perfect name resolution is undecidable. "Fast static analysis, easy static analysis, language designed for static analysis - pick two".

Rust's IDE integration is fast and deep, and I've heard TypeScript's is too, so "easy static analysis" may not be important today. I believe it will as coding evolves due to LLMs, albeit without evidence and I'm not quite sure how.

foolswisdom•1h ago
I would really appreciate if rust analyzer was faster, actually. It feels even worse with the fact that you need to save the file before it updates the type checking (though I assume it's because it's too slow to feel smooth if you do it while typing?).
recursivecaveat•59m ago
Mass unqualified imports is a feature that I really dislike in languages. At least please make it less syntactically convenient so people are not drawn to it. Trawling around to find out where symbols come from has wasted a lot more of my time than unqualified imports have ever saved. Using a very short alias gets you 90% of the way there anyways.
jiggawatts•31m ago
> Trawling around to find out where symbols come from has wasted a lot more of my time than unqualified imports have ever saved.

Why aren't you using an IDE with "navigate to definition" conveniently bound to something like middle-click or ctrl-click?

I haven't used a language/IDE combination without this feature in decades.

jiggawatts•32m ago
> This is provably impossible to make usefully incremental. The encryption can be implemented as a graph of function calls, and you can apply the general incremental recipe to it. It just won’t be very fast.

The specific example is bogus.

Merkle trees and their many variants exist to solve precisely this problem.

For more compiler-specific scenarios there exist vaguely similar solutions to the issues introduced by incremental compilation such as splitting up monolithic executables into many small dynamically loaded libraries (only during development time), or taking that to the extreme, hot code reloading at the function level.

> ... only because Zig language is carefully designed to allow this.

Is the key point. Rust wasn't designed for incremental compilation, and most legacy languages like C only allow it in a useful way because they were designed in the era "kilobytes" of system memory and hence they're very frugal in their design.

Other than Zig, the only modern language I'm aware of that was "co-designed" for efficient compilation and incremental reload is Jai.

> Expanding macros requires name resolution, which, in Rust, is a crate-wide, rather than a file-wide operation.

Sure, but macros change infrequently, so that ought to be a highly cacheable pure function for most edits.

> The above scheme works only if the language has a property that changing the body of function foo (not touching its signature) can’t introduce type errors into an unrelated function bar.

AFAIK Rust and most other statically typed languages have this property. Optimisations such as inlining can mess with the cacheability of code-gen in all languages.

The workers behind Meta’s smart glasses can see everything

https://www.svd.se/a/K8nrV4/metas-ai-smart-glasses-and-data-privacy-concerns-workers-say-we-see-e...
591•sandbach•4h ago•334 comments

Zuckerberg's internal emails rendered as Facebook Messenger

https://zuckmail.vercel.app/
57•not-chatgpt•1h ago•11 comments

Seed of Might Color Correction Process (2023) [pdf]

https://andrewvanner.github.io/som/SoM_CC_Process_Day.pdf
73•haunter•3h ago•15 comments

Show HN: I built a sub-500ms latency voice agent from scratch

https://www.ntik.me/posts/voice-agent
184•nicktikhonov•5h ago•49 comments

Closure of the Weatheradio Service in Canada

https://www.rac.ca/rac-responds-to-the-closure-of-the-weatherradio-service-in-canada/
74•da768•3h ago•32 comments

Welcome (back) to Macintosh

https://take.surf/2026/03/01/welcome-back-to-macintosh
259•Udo_Schmitz•5h ago•168 comments

How to Build Your Own Quantum Computer

https://physics.aps.org/articles/v19/24
32•tzury•3h ago•11 comments

What Are Your Guilty Displeasures?

https://www.hopefulmons.com/p/what-are-your-guilty-displeasures
23•aregue•1d ago•11 comments

British Columbia to end time changes, adopt year-round daylight time

https://www.cbc.ca/news/canada/british-columbia/b-c-adopting-year-round-daylight-time-9.7111657
453•ireflect•6h ago•260 comments

New iPad Air, powered by M4

https://www.apple.com/newsroom/2026/03/apple-introduces-the-new-ipad-air-powered-by-m4/
331•Garbage•12h ago•529 comments

First in-utero stem cell therapy for fetal spina bifida repair is safe: study

https://health.ucdavis.edu/news/headlines/first-ever-in-utero-stem-cell-therapy-for-fetal-spina-b...
250•gmays•11h ago•49 comments

The 185-Microsecond Type Hint

https://blog.sturdystatistics.com/posts/type_hint/
46•kianN•4h ago•2 comments

RCade: Building a Community Arcade Cabinet

https://www.frankchiarulli.com/blog/building-the-rcade/
47•evakhoury•4d ago•6 comments

Show HN: Govbase – Follow a bill from source text to news bias to social posts

https://govbase.com
160•foxfoxx•9h ago•72 comments

Against Query Based Compilers

https://matklad.github.io/2026/02/25/against-query-based-compilers.html
25•surprisetalk•1d ago•5 comments

Programmable Cryptography

https://0xparc.org/writings/programmable-cryptography-1
45•fi-le•2d ago•25 comments

Motorola announces a partnership with GrapheneOS

https://motorolanews.com/motorola-three-new-b2b-solutions-at-mwc-2026/
2075•km•19h ago•737 comments

Show HN: Visual Lambda Calculus – a thesis project (2008) revived for the web

https://github.com/bntre/visual-lambda
22•bntr•2d ago•4 comments

Ask HN: Who is hiring? (March 2026)

173•whoishiring•10h ago•224 comments

Inside the M4 Apple Neural Engine, Part 1: Reverse Engineering

https://maderix.substack.com/p/inside-the-m4-apple-neural-engine
273•zdw•1d ago•72 comments

iPhone 17e

https://www.apple.com/newsroom/2026/03/apple-introduces-iphone-17e/
199•meetpateltech•12h ago•266 comments

"That Shape Had None" – A Horror of Substrate Independence (Short Fiction)

https://starlightconvenience.net/#that-shape-had-none
83•casmalia•7h ago•15 comments

Launch HN: OctaPulse (YC W26) – Robotics and computer vision for fish farming

67•rohxnsxngh•10h ago•30 comments

LFortran compiles fpm

https://lfortran.org/blog/2026/02/lfortran-compiles-fpm/
52•wtlin•3d ago•21 comments

Reflex (YC W23) Is Hiring Software Engineers – Python

https://www.ycombinator.com/companies/reflex/jobs
1•apetuskey•9h ago

Show HN: Pianoterm – Run shell commands from your Piano. A Linux CLI tool

https://github.com/vustagc/pianoterm
41•vustagc•5h ago•15 comments

Ask HN: Who wants to be hired? (March 2026)

72•whoishiring•10h ago•185 comments

Parallel coding agents with tmux and Markdown specs

https://schipper.ai/posts/parallel-coding-agents/
128•schipperai•12h ago•97 comments

Show HN: uBlock filter list to blur all Instagram Reels

https://gist.github.com/shraiwi/009c652da6ce8c99a6e1e0c86fe66886
104•shraiwi•6h ago•28 comments

Making Video Games in 2025 (without an engine)

https://www.noelberry.ca/posts/making_games_in_2025/
411•alvivar•3d ago•193 comments