Hacker News 의견
  • Rust를 부트스트랩하려면, C로 프로토-러스트를 작성한 후, 프로토-러스트로 전체 러스트 컴파일러를 작성하는 것이 좋음

    • 프로토-러스트는 차용 검사기나 매크로 지원이 없고, 메모리를 해제하지 않으며, 좋은 코드를 생성할 필요가 없음
    • 프로토-러스트는 러스트 문법을 가진 C와 같음
    • 왜 이 경로가 선택되지 않았는지 궁금함
  • 취미로 Rust로 C 컴파일러를 작성 중이며, "Small C Compiler"라고 부름

    • Cranelift를 백엔드로 사용하며, 컴파일러 아키텍처는 플러그 가능하고 해킹 가능함
    • printf("Hello World!")를 처리할 수 있을 때까지 오픈 소스 계획이 없음
    • 전처리기와 파서를 구현하려고 노력 중이며, rust-peg와 HimeCC에 참여함
    • typedef 문제로 인해 학계의 해결책이 궁금함
  • 하드웨어에서도 동일한 부트스트랩 문제 존재

    • 컴퓨터는 이전에 만들어진 컴퓨터와 소프트웨어로 만들어짐
    • 생각해볼 만한 흥미로운 주제임
  • 부트스트랩의 이점을 찾기 위해 4개의 링크를 따라가야 했음

    • 제목의 "왜" 부분이 그 이유를 설명할 것이라고 기대했음
  • 부트스트랩 체인에 C++이 도입되면 부트스트랩이 거의 끝남

    • Rust를 사용하려면 C++ 도입 이전에 사용해야 함
    • Rust 컴파일러가 C에서 부트스트랩될 수 있으면 좋겠음
    • 그러나 이전 버전의 rustc는 이전 버전의 rustc로 컴파일됨
    • OCaml 컴파일러를 Guile로 성공적으로 컴파일할 수 있음
    • 저자는 C++ 단계를 제거하고 C 단계를 선호함
    • 저자의 동기가 명확하지 않음
  • 목표 시스템에서 새로운 바이너리를 생성하려면 rustc가 해당 시스템을 지원해야 함

    • rustc에 해당 지원을 추가하면 스스로 빌드할 수 있음
  • Scheme으로 C++ 인터프리터나 컴파일러를 작성하는 것을 상상함

    • Scheme에서 현재 gcc로 바로 가는 것은 큰 지름길이 될 것임
    • 그러나 C++ 컴파일러 작성은 거의 불가능하다는 것이 일반적인 지혜임
  • 전체 스택을 보면 "trusting trust" 문제를 우회할 수 있는 방법일 수 있음

  • QBE를 백엔드로 사용하는 것이 마음에 듦

    • Rust와 LLVM과의 비교를 보는 것이 흥미로울 것임
    • 행운을 빔
  • 부트스트랩 과정에 FORTH를 도구 체인의 일부로 사용하는 것을 고려할 수 있음