Remix.run Logo
wat10000 3 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.

kstrauser 3 hours ago | parent [-]

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.

cxr an hour ago | parent | next [-]

> 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.

wat10000 3 hours ago | parent | prev [-]

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.

kstrauser an hour ago | parent [-]

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.

wat10000 39 minutes ago | parent [-]

Here, "requires bootstrapping" means "gcc needs to be able to build with gcc, including older versions of gcc."

kstrauser 28 minutes ago | parent [-]

This 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 13 minutes ago | parent [-]

You'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. Your "counterpoints" are counterpoints to an imaginary argument/claim that no one has actually made. It's not part of the quote that you pulled out of the other comment, because there's no way to quote the other person saying what you're insisting they said, because it's not what they were saying. This entire subthread is the result of an unnecessary attempt at a correction that corrects no one.