5 ms·
There's a third option that you missed which is what Zig does. It has a "bootstrap" compiler, written in C, which is kept in sync with the self-hosted compiler.
by AndyKelley 4y ago
There's a third option that you missed which is what Zig does. It has a "bootstrap" compiler, written in C, which is kept in sync with the self-hosted compiler. Features are implemented twice, once in the bootstrap compiler, once in the self-hosted compiler. So the build process involves a fixed set of steps - stage1, stage2, stage3 - and the chain never grows more than this. No pre-existing binaries are required.
- deleted 4y ago[deleted]
- jessermeyer 4y ago> No pre-existing binaries are required. Except for of course a c compiler.
- erichocean 4y agoWhich is…self-hosted.
- naikrovek 4y agoneed a compiler to compile it, though.
- pjmlp 4y agoCurrently, alternatively they could cross-compile.
- nyberg 4y agoWhich is something mescc and friends solve. Zig doesn't need to solve the full bootstrap from nothing chain, just the entry.