Принцип бутстрапа описан в книге дракона, но читать тебе конечно лень. 1 Write a compiler C1 for language X in language Y. 2 Use the compiler C1 to write compiler C2 for language X in language X. Now C2 is a fully self hosting environment.
@ulidtko Не, ты не понял. Вот случились ломающие изменения в языке. Чтобы старая версия компилятора могла собрать новую, он должен быть написан на старой версии, но тогда на второй и третьей стадии компиляции новый компилятор не соберёт себя из старых исходников.
Компилятор эрланга написан на эрланге.
Компилятор хаскеля написан на хаскеле.
идея топ-свежак карочи, палю: https://en.wikipedia.org/wiki/Bootstrapping_%28compilers%29
ну и «Раст» всё-таки, а не «Руст» // сорь