Runtime Written In
Runtime Implementation Relationships
These relationships document what programming language each runtime or interpreter is written in. For example, CPython (the reference Python interpreter) is written in C.
All 67 Relationships
| From | To | Confidence | Notes |
|---|---|---|---|
| Erlang | Elixir | 99% | Elixir runs on BEAM (Erlang VM) |
| C | Bash | 99% | Bash interpreter written in C |
| C | Lua | 98% | Lua written in ANSI C |
| C | Python | 98% | CPython reference implementation in C |
| C++ | V8 | 98% | V8 JavaScript engine written in C++ |
| C++ | HotSpot JVM | 98% | HotSpot JVM written in C++ |
| Erlang | BEAM VM | 98% | BEAM VM created for Erlang |
| BEAM VM | Elixir | 98% | Elixir runs on BEAM VM |
| C | GHC | 97% | GHC's runtime system (RTS) is written in C and C-- |
| Java | Kotlin | 97% | Kotlin runs on JVM |
| C | Perl | 95% | Perl interpreter written in C |
| C | PHP | 95% | PHP Zend Engine written in C |
| C | Ruby | 95% | MRI/CRuby written in C |
| C | OCaml | 95% | OCaml runtime/GC written in C |
| C | BEAM VM | 95% | BEAM VM written in C |
| C++ | .NET Runtime | 95% | CoreCLR primarily in C++ |
| C++ | Dart | 95% | Dart SDK/VM written in C++ |
| Go | Go | 95% | Go runtime also written in Go since 1.5 |
| Assembly | Go | 95% | Go runtime has assembly components |
| LLVM | Julia | 95% | Julia uses LLVM for JIT compilation |
| Chez Scheme | Racket | 95% | Racket migrated backend to Chez Scheme in 2019 |
| C | Erlang | 95% | Erlang VM (BEAM) written in C |
| C | Smalltalk | 95% | Squeak and Pharo VMs (primary Smalltalk implementations) written in C |
| C | Scheme | 95% | MIT Scheme runtime written in C |
| C | AWK | 95% | AWK runtime (gawk, nawk, mawk) written in C |
| C | Bourne Shell | 95% | Bourne shell written in C by Steve Bourne at Bell Labs |
| C++ | Self | 95% | Self VM written in C++ at Stanford/Sun |
| C | Tcl | 95% | Tcl interpreter written in C by John Ousterhout |
| C | J | 95% | J interpreter written in C by Ken Iverson and Roger Hui |
| C | GNU Guile | 95% | GNU Guile interpreter written in C |
| C | LuaJIT | 95% | LuaJIT runtime written in C and assembly by Mike Pall |
| C | QuickJS | 95% | QuickJS is written in C. |
| C++ | SpiderMonkey | 92% | SpiderMonkey rewritten in C++ (originally C) |
| C++ | JavaScriptCore | 92% | JavaScriptCore written in C++ and Assembly |
| C++ | Hack | 92% | Hack runs on HHVM, written in C++. |
| C | Wren | 92% | The Wren VM is written in C. |
| C++ | HHVM | 92% | HHVM is written in C++. |
| C | MoarVM | 92% | MoarVM is written in C. |
| C | R | 90% | R runtime core in C |
| C | Haskell | 90% | GHC RTS (runtime system) written in C |
| C | .NET Runtime | 90% | CoreCLR has C components alongside C++ |
| C# | .NET Runtime | 90% | Managed parts of CoreCLR written in C# |
| C | Julia | 90% | Julia runtime partially written in C |
| C++ | Julia | 90% | Julia runtime includes C++ components |
| C | Cython | 90% | Cython compiles to C |
| C | APL | 90% | Dyalog APL runtime written in C |
| Lisp | Planner | 90% | Planner was implemented as a Lisp system at MIT |
| C | ML | 90% | Standard ML of New Jersey (SML/NJ) runtime written in C |
| C | S | 90% | S statistical language runtime written in C and Fortran at Bell Labs |
| C | MATLAB | 90% | MATLAB runtime engine written in C and C++ |
| C | ABC | 90% | ABC interpreter written in C at CWI |
| C | Pharo | 90% | Pharo VM (based on Squeak) written in C |
| C | Raku | 90% | Reference implementation runs on MoarVM, written in C. |
| C | Io | 90% | The Io interpreter is written in C. |
| C++ | Nix | 90% | The Nix evaluator is implemented in C++. |
| Rust | SpiderMonkey | 88% | Parts of SpiderMonkey rewritten in Rust |
| C | JavaScript | 85% | Original SpiderMonkey JS engine written in C by Brendan Eich |
| C | JavaScriptCore | 85% | JavaScriptCore has C components |
| Fortran | R | 85% | R has Fortran components for numerical routines |
| Assembly | OCaml | 85% | OCaml runtime has assembly components |
| Assembly | JavaScriptCore | 85% | JavaScriptCore JIT uses assembly |
| Assembly | .NET Runtime | 85% | CoreCLR JIT generates and uses assembly |
| Fortran | S | 85% | S statistical language uses Fortran for numerical computation |
| C | Dylan | 85% | Open Dylan runtime written in C |
| C++ | Lean | 85% | Lean 4 compiles via a C backend and a C++ runtime. |
| C++ | Factor | 85% | Factor's VM is written in C++. |
| C++ | ActionScript | 80% | ActionScript 3 ran on the Tamarin VM, written in C++. |