Compiler, Runtime, and Bootstrap Relationships Explained

Language Lineage tracks six types of relationships between programming languages. This page explains what each means, with examples from the dataset.

Relationship types

RelationshipMeaningExampleCount
compiler_written_inLanguage A's compiler is implemented in Brustc is written in Rust78
runtime_written_inLanguage A's runtime/interpreter is implemented in BCPython is written in C56
bootstrap_written_inLanguage A bootstraps from B (initial compiler was in B)Rust bootstrapped from OCaml14
influencedLanguage A's design influenced language BC influenced Go189
transpiled_toLanguage A compiles to language B (source-to-source)TypeScript transpiles to JavaScript8
rewritten_inLanguage A's implementation was rewritten in BGo compiler rewritten from C to Go2

What is a compiler?

A compiler translates source code from one language to another — typically from a high-level language to machine code, bytecode, or another high-level language. Examples: GCC (C/C++ → machine code), GHC (Haskell → machine code), tsc (TypeScript → JavaScript).

What is a runtime?

A runtime (or interpreter) is the environment that executes a program. It handles memory allocation, garbage collection, I/O, and standard library calls at execution time. Examples: V8 (JavaScript), CPython (Python), HotSpot JVM (Java bytecode).

What is compiler bootstrapping?

Bootstrapping is the process of using a compiler to compile a new version of itself. The first compiler for a language must be written in another language; once functional, it can compile a self-hosted version written in the target language itself. See: full bootstrapping explainer.

Frequently Asked Questions

What is the difference between a compiler and a runtime?
A compiler translates source code to another form (machine code, bytecode, or another language). A runtime is the environment that executes the program — managing memory, concurrency, and standard library calls at execution time.
What does runtime_written_in mean in the dataset?
runtime_written_in means the runtime or interpreter for language A is implemented in language B. For example, CPython (Python's runtime) is written in C, so there's a runtime_written_in relationship from C to Python.
What is a bootstrap compiler?
A bootstrap compiler is an intermediate compiler used to bring a self-hosting compiler into existence. For example, Rust's first bootstrapper was written in OCaml; Go's first compiler was written in C.
How does transpilation differ from compilation?
Transpilation (source-to-source compilation) transforms code from one high-level language to another, rather than to machine code or bytecode. TypeScript transpiles to JavaScript. CoffeeScript transpiles to JavaScript.
Explore Implementation Relationships →

Related Pages