4 ms·
Counterpoint: you could write a C++ compiler in a non-C/C++ language such that the compiler’s implementation language doesn’t even have the notion of C++20. A
by kstrauser 1y ago
Counterpoint: you could write a C++ compiler in a non-C/C++ language such that the compiler’s implementation language doesn’t even have the notion of C++20.
A compiler is perfectly capable of compiling programs which use features that its own source does not.
- cxr 1y agoThat's not a counterpoint—at least not to anything in the comment that you're (nominally) "responding" to. So why has it been posted it as a reply, and why label it a counterpoint?
- kstrauser 1y agoRead them again a couple more times and it may become clear. The prior post seemed to be claiming that this required any form of a bootstrapping process, when it does not.
- cxr 1y agoYou have lost the plot, and you are wrong.
- wat10000 1y agoThis 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.
- kstrauser 1y agoIt 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.
- wat10000 1y agoWhat is "It absolutely does not" responding to? I didn't say anything about a C++20 compiler needing to be written in C++20.
- kstrauser 1y agoYou 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.
- wat10000 1y agoHere, "requires bootstrapping" means "gcc needs to be able to build with gcc, including older versions of gcc."
- kstrauser 1y agoThis is going in circles and this is my last comment on it, but here is what I originally replied to: > So you can never be perfectly bleeding edge as it'd keep you from being able to build your compiler with an older compiler that doesn't support those bleeding edge features. …as though building the new version of the compiler depended on the features it’s implementing already existing. This is clearly not the case.
- cxr 1y agoYou're hallucinating a non-existent premise to the actual conversation that occurred. The person you responded to answered the question posed by the person that they responded to. And they answered it correctly. Your "counterpoints" are counterpoints to an imaginary argument/claim that no one has actually made. The reason why it's not part of the quote that you pulled out of the other comment is that there's no way to quote the other person saying what you're trying to frame them as having said, because it's not what they were saying. This entire subthread is the result of an unnecessary attempt at a correction that doesn't manage to correct anyone about anything.