Main Page

Welcome to the bootstrapping wiki!

This wiki is about bootstrapping, i.e., building up compilers and interpreters and tools from nothing.

To use an analogy from the world of food production:

"Recipe for yogurt: Add yogurt to milk." - Anon.

In simple technical terms:

Bootstrapping is about building a compiler using tools smaller than itself, as opposed to building a compiler using an already built version of itself. The problem with the second is: Where did that prebuilt binary come from?

The short sci-fi story Coding Machines (Lawrence Kesteloot, January 2009) has bootstrapping as a theme.

Also see the homepage of the Bootstrappable project, which has pointers to a mailing list and IRC channel.

Topics

Current topics being considered include:

Other ideas that have been considered are listed on the dedicated Past Research page. There is also a list of discarded options and why.

Groups

The Groups page has links related to various areas of interest including:

  • Karger-Thompson Attack
  • Ubiquitous Implementations
  • Small C Compilers
  • Grammars, Parsing, and Term Rewriting
  • Virtual Machines, Instruction Sets
  • CPU's for Bootstrapping
  • Minimal Operating Systems
  • Biology / Other?

Helpful Links