These days with LLM bootstrapping the compiler is a lot like using YACC for the parser. You just point the LLM at your compiler spec, tell it "bootstrap this" and then it does.
Sort of. Although the process may not look exactly like that unless you have a really good spec.
True, I’m assuming you’ve already implemented one compiler. You point the ai to that and instruct the ai machine “bootstrap the language using this reference compiler”.
Sort of. You do not have to implement full compiler before starting building the self-hosted one. With LLM it is possible now to write the spec, and at the same time build both reference compiler and translator, validating your design early. No big upfront effort.
You can, but I still feel like you'd want to solidify the behavior in one compiler before bootstrapping it, otherwise you run into the problem https://news.ycombinator.com/item?id=50342830 was talking about.
Well, I have a working compiler of a language I currently work on (somewhere on the scale of Java or Rust, but better security) that was built my way.
There were some deviations along the way, but they are not a problem - they are part of the journey and led to important learnings for myself and LLM.