Comment by wat10000
6 hours ago
This particular compiler does require bootstrapping, and that's obviously what "the compiler" is referring to in that comment.
Building your compiler in another language doesn't help at all. In fact, it just makes it worse. Dogfooding C++20 in your compiler that isn't even built in C++ is obviously impossible.
It absolutely does not. There is no part of C++20 that requires the implementing compiler to be written in C++20.
My original point is that you can write a compiler for any language in any language.
> My original point is that you can write a compiler for any language in any language.
A perfectly fine observation on its own—but it's not on its own. It's situated in a conversational context. And the observation is in no way a counterpoint to the person you posted your ostensible reply to.
Aside from that, you keep saying "bootstrapping" as in whether or not this or that compiler implementation strategy "requires bootstrapping". But writing a compiler in different source language than the target language it's intended to compile and using that to build the final compiler doesn't eliminate bootstrapping. The compiler in that other language is just part of the bootstrapping process.
What is "It absolutely does not" responding to? I didn't say anything about a C++20 compiler needing to be written in C++20.
You said:
> This particular compiler does require bootstrapping, and that's obviously what "the compiler" is referring to in that comment.
You have to pick an option: either it requires bootstrapping, or it doesn’t.
As it’s possible to write the C++20 compiler features in C++11 (or whatever GCC or Clang are written in these days), it factually does not require bootstrapping.
4 replies →