BootstrappingCaseStudies - oils-for-unix/oils GitHub Wiki
Bootstrapped Compilers (written in the same language it compiles)
Rust: first compiler written in OCaml; then bootstrapped in Rust
Go: first compiler written in C; then bootstrapped in Go
the Go C compilers in C weren't written written from scratch; they were derived from Ken Thompson's C compilers for Plan 9
Used c2go and grind tool to convert C to Go
D: C++; then bootstrapped in D (only recently)
CoffeeScript: Ruby; then bootstrapped CoffeeScript
Nim: Free Pascal; then bootstrapped Nim
Bootstrapped But Not Sure About the Original
TypeScript: currently written in TypeScript; not sure what it started with
Haskell: currently written in Haskell
OCaml: currently written in OCaml
Not Bootstrapped
Elm: Written in Haskell
Haxe: Written in OCaml
Swift: I think it's mostly written in C++ (?)
Self Hosted Subsets
C4: C in Four Functions compiles itself
tinypy's bytecode compiler: The compiler is written in the subset of Python that tinypy accepts, so it was bootstrapped with CPython, but now it runs itself.
Other
Raku (formerly Perl 6): Uses the subset NQP (Not Quite Perl)
Links
Contributions Welcome
Feel free to add any other case studies, e.g. Crystal, etc.
What about C? Was the first compiler in B, BCPL, etc.?
Or add links to justify the existing entries (mostly done off the top of my head, after looking at repos for a few years)
🗂️ Page Index for this GitHub Wiki