

When people compile compilers do they actually specialize a compiler to itself (as in definition 3 in the paper) as one of the steps? That’s super interesting if so, I had no idea. My only knowledge of bootstrapping compilers is simple sequences of compilers that work on increasing fragments of the language, culminating with the final optimizing compiler being able to compile itself (just once).
i might try writing such a post!