Open-source interpreter software
754 open-source libraries, tools and applications tagged interpreter, ranked by how closely interpreter is their primary purpose, then by adoption and maintenance health. Each entry links to a page with sources, use cases and when to choose or avoid it.
754 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| tpope/vim-fireplace A Vim plugin by Tim Pope providing Clojure REPL support via nREPL, with transparent auto-connection to Leiningen, Boot, and Clojure CLI pro… | 32 | 1758 | maintenance |
| pydantic/monty Monty is a minimal, secure Python interpreter written in Rust designed for safely executing LLM-generated code without container-based sand… | 96 | 8621 | experimental |
| JeffBezanson/femtolisp FemtoLisp is a lightweight, self-contained Scheme-like Lisp interpreter written in under 1000 lines of C, featuring a bytecode compiler and… | 32 | 1723 | maintenance |
| jphp-group/jphp JPHP is an implementation of the PHP language (7.1+) that compiles PHP source code to JVM bytecode and executes it on the Java VM. It enabl… | 23 | 1712 | maintenance |
| perlin-network/life Life is a secure and fast WebAssembly virtual machine written in pure Go, featuring an interpreter and an experimental AOT compilation engi… | 32 | 1690 | maintenance |
| Arcadia Arcadia integrates the Clojure programming language with the Unity 3D game engine, letting developers script games in a live-coded, functio… | 23 | 1688 | maintenance |
| netgusto/nodebook Nodebook is a self-hosted, multi-language web REPL and CLI code runner supporting ~19 languages including Python, Go, Rust, and Haskell. No… | 23 | 1643 | maintenance |
| momotech/MLN MLN (Momo Lua Native) is a mobile cross-platform framework from Momo that lets developers build Android and iOS apps from a single Lua code… | 32 | 1642 | maintenance |
| robovm/robovm RoboVM is an ahead-of-time compiler and runtime that translates JVM bytecode into native machine code, primarily enabling Java and Kotlin a… | 32 | 1636 | maintenance |
| antfu/esno esno is a Node.js runtime wrapper for running TypeScript and ESM files directly, now serving as an alias to the tsx package with automated … | 32 | 1604 | maintenance |
| rui314/minilisp MiniLisp is a small, readable Lisp interpreter written in under 1000 lines of heavily commented C. It supports integers, symbols, cons cell… | 32 | 1562 | maintenance |
| Jython Jython is an implementation of the Python programming language written in Java that runs on the JVM, currently supporting Python 2.7 with w… | 84 | 1549 | maintenance |
| millejoh/emacs-ipython-notebook EIN is an Emacs Lisp package providing a Jupyter notebook client and integrated REPL inside GNU Emacs, supporting code evaluation, completi… | 44 | 1524 | maintenance |
| fetlang/fetlang Fetlang is a statically typed, procedural esoteric programming language whose source code is written to resemble poorly written fetish erot… | 32 | 1505 | maintenance |
| vmware-archive/differential-datalog DDlog is a programming language and compiler for incremental computation, based on a dialect of Datalog and differential dataflow. Programm… | 10 | 1501 | maintenance |
| weidian-inc/hera Hera is a cross-platform framework that lets developers write WeChat-style mini programs and run them outside WeChat, packaging them as And… | 32 | 1500 | maintenance |
| Tezos Tezos is a self-amending cryptographic ledger (blockchain) platform supporting smart contracts, implemented in OCaml. This repository is a … | 32 | 1499 | maintenance |
| LuaDist/lua A distribution of the Lua 5.1 programming language interpreter and library built with CMake instead of the standard Makefiles. It provides … | 10 | 1491 | maintenance |
| zsaleeba/picoc picoc is a very small C interpreter that can execute C code without compilation, suitable for embedding as a scripting engine. The GitHub r… | 32 | 1476 | maintenance |
| anael-seghezzi/CToy CToy is an interactive C(99) live coding environment built on the TCC compiler that recompiles and restarts your program on every file save… | 76 | 1447 | maintenance |
| pangweiwei/slua slua is a fast Lua binding library for Unity3D and mono that uses static code generation instead of reflection to export C#/.NET interfaces… | 23 | 1422 | maintenance |
| TooTallNate/NodObjC NodObjC is a Node.js bridge to the Objective-C runtime, exposing Apple frameworks like Foundation and Cocoa to JavaScript via BridgeSupport… | 32 | 1421 | maintenance |
| kevinlawler/kona Kona is an open-source C implementation of the K (k3) programming language, an APL/LISP-derived array language originally from Kx Systems. … | 23 | 1418 | maintenance |
| aurasphere/gomorra-sql GomorraSQL is a joke/esoteric SQL dialect written in Java that lets you write queries in the Neapolitan language and translates them to sta… | 23 | 1418 | maintenance |
| jdah/jdh-8 JDH-8 is a fully custom 8-bit minicomputer with its own RISC instruction set, register set, and port-mapped I/O, complete with an assembler… | 32 | 1389 | maintenance |
| michaelmacinnis/oh Oh is a new Unix shell written in Go that reimagines shell design with a Scheme-inspired language featuring first-class channels, pipes, en… | 23 | 1383 | maintenance |
| nedbat/byterun Byterun is a pure-Python implementation of a Python bytecode execution virtual machine. It was created to understand CPython bytecodes, ori… | 32 | 1364 | maintenance |
| scratchfoundation/scratch-flash The open source ActionScript codebase for the Scratch 2.0 visual programming editor and player, used for both the online and offline Scratc… | 10 | 1357 | maintenance |
| gzuidhof/starboard-notebook Starboard Notebook is an in-browser literate notebook runtime that runs entirely client-side with no backend required. It provides a hackab… | 23 | 1355 | maintenance |
| whitecatboard/Lua-RTOS-ESP32 Lua RTOS is a real-time operating system for embedded systems (ESP32, ESP8266, PIC32MZ) built on FreeRTOS with a Lua 5.3 interpreter on top… | 64 | 1334 | maintenance |
| dogescript/dogescript Dogescript is a joke compile-to-JavaScript programming language with doge-meme syntax, distributed as an npm package. It ships a CLI compil… | 36 | 1334 | maintenance |
| janino-compiler/janino Janino is a super-small, super-fast Java compiler that can compile source files to class files like javac, or compile Java expressions, blo… | 10 | 1329 | maintenance |
| jbangert/trapcc trapcc is a proof-by-construction that Intel MMU fault handling is Turing complete: an assembler translates 'Move, Branch if Zero, Decremen… | 32 | 1324 | maintenance |
| mntmn/interim Interim OS is a minimalist experimental operating system with a language-based kernel inspired by Lisp machines and Plan 9. It boots to a J… | 32 | 1322 | maintenance |
| Seeing Is Believing Seeing Is Believing is a Ruby command-line tool and library that evaluates Ruby code and records the result of every line, annotating the f… | 61 | 1319 | maintenance |
| ezrosent/frawk frawk is a small, efficient Awk-like programming language implemented in Rust for writing short programs that process textual data. It supp… | 39 | 1318 | maintenance |
| roc-lang/roc Roc is a fast, friendly, functional programming language implemented in Zig, with a compiler toolchain that builds to machine code or WebAs… | 79 | 6127 | experimental |
| Bycelium/PyFlow PyFlow is an open-source visual programming tool that lets users arrange Python code blocks on an infinite 2D canvas and link them to defin… | 23 | 1305 | maintenance |
| carp-lang/Carp Carp is a statically typed Lisp programming language with deterministic memory management and no garbage collector, implemented in Haskell.… | 77 | 6061 | experimental |
| Red Programming Language Red is a next-generation programming language inspired by Rebol, shipping as a single ~1MB zero-install executable containing a full toolch… | 66 | 6041 | experimental |
| neonious/lowjs low.js is an open-source port of the Node.js JavaScript runtime rebuilt with far lower system requirements, running on POSIX systems (Linux… | 32 | 1287 | maintenance |
| yrp604/rappel Rappel is a Linux-based interactive assembly REPL that runs instructions by rewriting and executing a child process's .text section under p… | 32 | 1282 | maintenance |
| BitFunnel/NativeJIT NativeJIT is a cross-platform C++ library for just-in-time compilation of expressions involving C data structures into optimized x64 machin… | 32 | 1260 | maintenance |
| SoptikHa2/desed Desed is a terminal TUI debugger for GNU sed scripts, written in Rust. It lets users step through sed execution forward and backward, set b… | 56 | 1218 | maintenance |
| QuipNetwork/xquad XQuad is a hardware-agnostic toolchain for expressing and running quadratic optimization problems (QUBO/Ising/discrete) across quantum anne… | 60 | 5582 | experimental |
| WolframResearch/WolframLanguageForJupyter A Jupyter kernel that lets users run Wolfram Language (Mathematica) code inside Jupyter notebooks. It connects the Wolfram Engine to Jupyte… | 23 | 1216 | maintenance |
| kylestetz/slang Slang is a small audio programming language implemented entirely in JavaScript, running in the browser on top of the Web Audio API. It uses… | 32 | 1202 | maintenance |
| SpencerPark/IJava IJava is a Jupyter kernel that lets you execute Java code inside Jupyter notebooks. It provides an interactive Java REPL experience with su… | 23 | 1191 | maintenance |
| PythonCharmers/python-future python-future is a compatibility layer providing backports and forward ports between Python 2 and Python 3, including the futurize and past… | 62 | 1190 | maintenance |
| lihaoyi/Metascala Metascala is a tiny metacircular Java Virtual Machine written in about 3000 lines of Scala, including a bytecode interpreter, a stack-machi… | 32 | 1186 | maintenance |
| google/skylark A Go implementation of the Skylark (now Starlark) interpreter, a small dialect of Python designed as an embeddable configuration language. … | 10 | 1182 | maintenance |
| aaronjanse/asciidots AsciiDots is an esoteric programming language where dots travel along ASCII-art paths and undergo operations, implemented as a Python inter… | 63 | 1167 | maintenance |
| Qirky/FoxDot FoxDot is a Python-driven live coding environment that provides a friendly abstraction over SuperCollider for making music in real time. It… | 30 | 1160 | maintenance |
| google/wwwbasic wwwBASIC is an implementation of the BASIC programming language that compiles to JavaScript and runs in the browser or Node.js. It supports… | 60 | 1151 | maintenance |
| ading2210/linuxpdf LinuxPDF is a PDF file that runs a full Linux system inside a RISC-V emulator (based on TinyEMU) compiled to asm.js and executed via the Ja… | 21 | 5104 | experimental |
| nakkaya/ferret Ferret is a Lisp (Clojure-inspired) implementation that compiles down to self-contained C++11 code for real-time embedded control systems. … | 32 | 1127 | maintenance |
| xebecnan/UniLua UniLua is a pure C# implementation of the Lua 5.2 language, focused on compatibility with Unity3D. It implements the core language features… | 32 | 1121 | maintenance |
| rswier/swieros Swieros is a tiny hand-crafted virtual CPU emulator paired with a fast C-subset compiler and a Unix-ish operating system kernel based on xv… | 32 | 1119 | maintenance |
| primaryobjects/AI-Programmer AI-Programmer is a C# experiment that uses genetic algorithms to automatically generate programs in a Turing-complete esoteric language (Br… | 44 | 1102 | maintenance |
| levskaya/jslinux-deobfuscated A hand-deobfuscated and annotated version of an old JSLinux x86 emulator written in JavaScript, made readable for study. It runs Linux in t… | 32 | 1077 | maintenance |
| luaj/luaj Luaj is a lightweight, fast Lua interpreter (Lua 5.2.x compatible) written entirely in Java for JME, JSE, and JEE environments. It includes… | 23 | 1055 | maintenance |
| dan200/ComputerCraft ComputerCraft is a Minecraft mod that adds programmable computers, robots, and turtles running the Lua programming language to Minecraft wo… | 23 | 1041 | maintenance |
| haileys/jsos JSOS is a hobby operating system whose kernel, C library, compiler, and JavaScript virtual machine are written largely in JavaScript, with … | 32 | 1038 | maintenance |
| matz/streem Streem is a prototype of a stream-based concurrent scripting language created by Yukihiro Matsumoto, influenced by the shell pipeline model… | 32 | 4595 | experimental |
| VPanjeta/ModiScript ModiScript is an esoteric, dynamically typed, Turing-complete programming language built in Python whose keywords are quotes and phrases as… | 32 | 1037 | maintenance |
| planck-repl/planck Planck is a stand-alone ClojureScript REPL for macOS and Linux built on JavaScriptCore. It launches instantly and supports writing Clojure-… | 23 | 1037 | maintenance |
| LiquidPlayer/LiquidCore LiquidCore embeds a full Node.js virtual machine inside Android and iOS apps, complete with a virtual file system. It also lets Android dev… | 23 | 1036 | maintenance |
| mcsoto/LogicJS LogicJS is a JavaScript library that brings logic programming (in the style of Prolog and miniKanren) to JavaScript. It provides logic vari… | 32 | 1029 | maintenance |
| go-python/gpython gpython is a partial re-implementation and port of the Python 3.4 interpreter written in Go, including a lexer, parser, compiler, and runti… | 60 | 1018 | maintenance |
| Kakarot zkEVM Kakarot is a zkEVM written in Cairo that implements the full EVM instruction set as provable programs, leveraging STARK proofs on Starknet.… | 10 | 999 | maintenance |
| koka-lang/koka Koka is a strongly typed functional programming language with a polymorphic effect type system and algebraic effect handlers, developed as … | 89 | 4104 | experimental |
| GetFirefly/firefly Firefly is an alternative implementation of the BEAM virtual machine, including a compiler and runtime for BEAM languages like Erlang and E… | 10 | 3581 | experimental |
| jank jank is a Clojure dialect compiled to native code via LLVM, with seamless C++ interop including templates, virtual functions, exceptions, a… | 68 | 3344 | experimental |
| ran-j/PS2Recomp A PlayStation 2 static recompiler that translates PS2 ELF binaries (MIPS R5900 instructions) into C++ code, plus a runtime to execute the g… | 72 | 3286 | experimental |
| artichoke/artichoke Artichoke is a Ruby implementation written in Rust and Ruby, aiming for MRI compatibility and targeting recent MRI Ruby. It can compile to … | 10 | 3125 | experimental |
| itsmattkc/dotnet9x A backport of the .NET Framework 2.0-3.5 (CLR 2.0) to Windows 95/98/ME, which Microsoft never officially supported. It packages installers … | 25 | 2597 | experimental |
| carlini/printf-tac-toe A C program that plays tic-tac-toe using a single call to printf, written for the International Obfuscated C Code Contest 2020. It encodes … | 32 | 2533 | experimental |
| nebulet/nebulet Nebulet is a proof-of-concept microkernel written in Rust that executes WebAssembly modules in Ring 0 within a single address space. It use… | 10 | 2357 | experimental |
| kyren/piccolo Piccolo is an experimental stackless Lua interpreter implemented in pure Rust, designed to safely run and sandbox untrusted Lua scripts. It… | 33 | 2153 | experimental |
| mun-lang/mun Mun is an experimental, statically typed programming language with first-class hot reloading, compiled ahead of time to native machine code… | 65 | 2139 | experimental |
| touilleMan/godot-python A plugin that adds Python as a scripting language for the Godot game engine, letting developers write game scripts in Python instead of GDS… | 51 | 2093 | experimental |
| FractalFir/rustc_codegen_clr An experimental Rust compiler backend plugin that transpiles Rust code into .NET CIL assemblies or C source files. It includes a Rust/.NET … | 46 | 2056 | experimental |
| WeaveMindAI/weft Weft is a programming language (currently a POC) where LLMs, humans, APIs, and infrastructure are first-class primitives for building AI or… | 67 | 1989 | experimental |
| lamdu/lamdu Lamdu is a next-generation live programming environment combining a projectional/structure editor with its own programming language, offeri… | 66 | 1894 | experimental |
| Azure/golua A Lua 5.3 engine (compiler and virtual machine) implemented entirely in Go. It allows Go applications to embed and execute Lua scripts with… | 10 | 1817 | experimental |
| rexdex/recompiler A C++ tool that converts Xbox 360 PowerPC executables into native Windows x86 executables, handling CPU translation, endianness, and GPU em… | 32 | 1742 | experimental |
| VoidmatrixHeathcliff/VoidNovelEngine VoidNovelEngine is a free, open-source engine for building visual novels and narrative games using a flowchart-style node editor instead of… | 65 | 1688 | experimental |
| FastVM/minivm MiniVM is a small but optimizing virtual machine and runtime written in C11, featuring a just-in-time compiler built on Cuik's TB backend. … | 30 | 1667 | experimental |
| redox-os/ion Ion is a modern system shell with a simple yet powerful scripting syntax, written entirely in Rust for improved quality, security, and perf… | 66 | 1655 | experimental |
| lcompilers/lpython LPython is an ahead-of-time Python compiler written in C++ that compiles a subset of Python to fast native binaries via LLVM, C, C++, and W… | 44 | 1635 | experimental |
| dotnet/runtimelab dotnet/runtimelab is a sandbox repository for experimenting with new .NET runtime features and ideas that may eventually be upstreamed into… | 76 | 1620 | experimental |
| VTIL VTIL-Core is the core library of the Virtual-machine Translation Intermediate Language project, an optimizing compiler infrastructure built… | 71 | 1597 | experimental |
| BAndysc/AvaloniaVisualBasic6 A recreation of the classic Visual Basic 6 IDE and language written in C# using the Avalonia UI framework. It supports a visual designer, V… | 13 | 1596 | experimental |
| haileys/doslinux DOS Subsystem for Linux is a tool that lets users run Linux programs from the MS-DOS command prompt, similar to how WSL brings Linux to Win… | 32 | 1590 | experimental |
| andreabergia/rjvm A minimal Java Virtual Machine (JVM 7) implemented in Rust as a hobby learning project. It can parse .class files, resolve classes from jar… | 31 | 1580 | experimental |
| eval-exec/neomacs Neomacs is a work-in-progress rewrite of GNU Emacs in Rust with a GPU-accelerated display engine (wgpu), aiming for 100% Emacs/Elisp compat… | 82 | 1579 | experimental |
| bramblex/jsjs A simple meta-circular JavaScript interpreter written in JavaScript, intended as a toy/educational project demonstrating interpreter design… | 32 | 1347 | experimental |
| Hans-Halverson/brimstone Brimstone is a JavaScript engine written from scratch in Rust, implementing nearly the full ECMAScript specification (ES2026) including a b… | 77 | 1322 | experimental |
| luajit-remake/luajit-remake A from-scratch re-engineering of LuaJIT aiming to build a multi-tier method-JIT for Lua, with the interpreter and JIT tiers auto-generated … | 32 | 1299 | experimental |
| xerpi/vita2hos vita2hos is a translation layer (not an emulator) that runs PlayStation Vita ARMv7 executables natively on the Nintendo Switch's Horizon OS… | 30 | 1256 | experimental |