The Futamura projections are really cool: partially applying an interpreter gives you a compiler!
I'm not really sure what this enables though. You'd get a pretty poor compiler.
Is this idea used much? I've occasionally heard it referenced for RPython.
miniblog.
Related Posts
Compiler error messages is such a deep topic. Even in rustc, a mature compiler that invests effort in diagnostic quality, I find interesting issues every few months.
(The majority have been fixed pretty quickly, so it's really rewarding to file issues.)
I've never seen a good design philosophy on how to sort compiler errors for the best UX.
Do you order by line, or by severity? Do you put the most actionable at the end (because that's most visible when the terminal scrolls) or at the beginning?
Anthropic used Claude to write a C compiler in Rust (CCC). I've really enjoyed following the discussion.
The initial post shows how they wrote the harness with GCC as an oracle and a prompt specifying a design using SSA. The author has clear domain expertise.
https://www.anthropic.com/engineering/building-c-compiler