What can we learn from how compilers are designed?
tedinski.com · 2,433 words · saved by 1 readers
A case study on how compilers decouple components from each other using data.
Programming languages and compilers used to have a reputation for being one of the most complex topics in computer science. I think that reputation persists, but only because the topic is pretty much infinitely deep, especially where programming languages are concerned. The shallow waters here—the basics of how to design and implement a compiler—are pretty well solved. Compilers are still big, but we know how to break them down into easily understood pieces. I’d like to share some of those insights with you, because they have implications beyond writing compilers. There is one key idea that ma
related reading
- Compiler Optimizations Are Hard Because They Forget - Faultlorefaultlore.com
- Against Query Based Compilersmatklad.github.io
- Writing a C compiler in 500 lines of Pythonvgel.me
- Everything I know about good system designseangoedecke.com
- Why Learn Compilersamasad.me
- What to learndanluu.com
- A friendly introduction to machine learning compilers and optimizershuyenchip.com
- Building a Performant Compiler from Scratch — Bowen Chengbowencheng.dev
- What even is compiler correctness?williamjbowman.com
- Claude Is Not a Compilerblog.exe.dev
- Want to Write a Compiler? Just Read These Two Papers.prog21.dadgum.com
- Let’s Build A Simple Interpreter. Part 1. - Ruslan's Blogruslanspivak.com