言語がそれ自体をブートストラップする方法は理解していますが、なぜブートストラップを検討すべきかについての参考文献を見つけることができませんでした。
直観的な答えは、あなたが書いている言語は、コンパイラの「ベース」言語には見られないユーティリティを提供しており、その言語の機能はコンパイラに比較的適しているということです。
たとえば、C++ コンパイラをブートストラップすることは理にかなっています。プレーンな C を使用するのではなく、OOP を適切に使用すると、コンパイラの保守がはるかに簡単になる可能性があります。
一方、MATLAB は確かに単純な C よりも行列演算をはるかに簡単にしますが、MATLAB で MATLAB コンパイラ/インタープリタを作成することによる明らかな利点は見られません。保守性が低下するようです。同様の考え方は、R プログラミング言語にも当てはまります。または、かなり極端な例は、Haskell で記述されたWhitespaceのブートストラップです。間違いなく、Whitespace の巨大なスーパーセットです。
新しい言語の機能を利用するためのブートストラップの唯一の理由は? 「できるから」という理由もあると思いますが、それは私が探しているものではありません:)