• JackbyDev@programming.dev
    link
    fedilink
    English
    arrow-up
    13
    ·
    2 months ago

    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?

    • underscores@lemmy.dbzer0.com
      link
      fedilink
      arrow-up
      11
      ·
      edit-2
      2 months ago

      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

      • Giooschi@lemmy.world
        link
        fedilink
        English
        arrow-up
        7
        ·
        2 months ago

        compile rust 0.7 in scala

        Not sure if there was another rewrite, but AFAIK (and the article agrees with me) rustc was originally written in Ocaml

        • underscores@lemmy.dbzer0.com
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          2 months ago

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

      • JackbyDev@programming.dev
        link
        fedilink
        English
        arrow-up
        5
        ·
        2 months ago

        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.