Axiomatic Bootstrapping: A Guide for Compiler Hackers

Research output: Contribution to journalArticlepeer-review

8 Scopus citations


If a compiler for language L is implemented in L, then it should be able to compile itself. But for systems used interactively commands are compiled and immediately executed, and these commands may invoke the compiler; so there is the question of how ever to cross-compile for another architecture. Also, where the compiler writes binary files of static type information that must then be read in by the bootstrapped interactive compiler, how can one ever change the format of digested type information in binary files? Here I attempt an axiomatic clarification of the bootstrapping technique, using Standard ML of New Jersey as a case study. This should be useful to implementors of any self-applicable interactive compiler with nontrivial object-file and runtime-system compatibility problems.

Original languageEnglish (US)
Pages (from-to)1699-1718
Number of pages20
JournalACM Transactions on Programming Languages and Systems (TOPLAS)
Issue number6
StatePublished - Jan 11 1994

All Science Journal Classification (ASJC) codes

  • Software


  • Bootstrapping

Cite this