Bootstrapping kompilatora: dlaczego?

rozumiemw jaki sposób język może się samoczynnie uruchamiać, ale nie udało mi się znaleźć wielu odnośnikówczemu powinieneś rozważyć bootstrap.

Intuicyjna odpowiedź brzmi, że język, który piszesz, oferuje narzędzia, które nie znajdują się w „podstawowym” języku kompilatora,i cechy języka są stosunkowo dobrze dostosowane do kompilatora.

Na przykład sensowne byłoby załadowanie kompilatora C ++ - potencjalnie byłoby znacznie łatwiej utrzymać kompilator, gdy OOP jest poprawnie używany, w przeciwieństwie do używania zwykłego C.

Z drugiej strony MATLAB z pewnością czyni matematykę macierzową znacznie łatwiejszą niż zwykły C, ale nie widzę żadnych widocznych korzyści płynących z pisania kompilatora / interpretera MATLAB w MATLAB - wygląda na to, że stanie sięmniej możliwe do utrzymania. Podobny widok można zastosować do języka programowania R. Albo całkiem ekstremalnym przykładem może być bootstrappingBiała przestrzeń, który jest napisany w Haskell - zdecydowanie ogromnyWspaniałyzestaw białych znaków.

Czy jedynym powodem uruchamiania jest wykorzystanie funkcji nowego języka? Wiem, że jest powód „bo możemy”, ale tego nie szukam :)

questionAnswers(11)

yourAnswerToTheQuestion