111
Why am I writing a Rust compiler in C?
(notgull.net)
Welcome to the Rust community! This is a place to discuss about the Rust programming language.
Credits
Didn't Rust itself used to have a compiler written in a different language? I mean, obviously it would've had to at some point but I think I remember reading about them abandoning it once they didn't need it. Why not use that?
You can technically do it, but it's a convoluted path. The article talks about it. Basically to bootstrap that way you need to go through a lot of versions of rust, compile rust 0.7 in ocaml, compile ocaml in scheme, and compile scheme in C using gcc. For gcc you need to compile a chain of versions back to when it was written in C instead of C++, plus the whole TinyCC bootstrapping path.
edit: had listed scala instead of ocaml
Not sure if there was another rewrite, but AFAIK (and the article agrees with me) rustc was originally written in Ocaml
Yeah, I wrote the wrong language. I tend to lump those together in my head as 'big multi-paradigm languages I haven't bothered to learn yet.'
Ah okay. The article was a little over my head so I mostly skimmed it. This makes sense what you're saying though. It's easy to forget the level of bootstrapping they're trying to do is all the way to assembly.
It's the sort of thing if you think about too long you'll get paranoid and start using Gentoo exclusively lol.