セルフホスティング
最初のセルフホスティング式コンパイラ(アセンブラを使わずに開発されたコンパイラ)は、1962年にMITのHartとLevinが開発したLISP 1.5コンパイラであった。LISPインタプリタがそれ以前に存在していたが、コンパイラは無く、独自の方式でコンパイラをコンパイルした。コンパイラ自体がLISPで書かれていて、他のLISPプログラムと同様、LISPインタプリタ上でも動作可能であった。そこで彼らはコンパイラをインタプリタ上で動作させ、自分自身のソースコードを入力としてコンパイルさせた。
「標準のコンパイラテープ上のコンパイラは、コンパイラのS式定義をインタプリタ上で動作させた自分自身に与えることで得られた機械語プログラムである」
この技法はインタプリタが事前に存在していて、コンパイラと言語仕様がほぼ同じ場合にのみ適用可能である。このような自分自身の動作の定義を入力とするという考え方は理論計算機科学での様々な証明で使われており、チューリングマシンの停止問題の決定不能性の証明などにも使われている。