This is a (probably incomplete) list of languages implemented in Rust. It is intended as a source of inspiration and comparison, and as a directory of potentially interesting projects in this vein.
- Is it a language?
- Is it written in Rust?
Then it can be included in this list!
Name | ⭐ Stars | ☀️ Status (updated within last year) | Description |
---|---|---|---|
Rust | 59,100+ | ☀️ Active | Empowering everyone to build reliable and efficient software. |
Parcel JavaScript Transformer | 39,000* | ☀️ Active | Blazing fast, zero configuration web application bundler. |
Gleam | 3,300+ | ☀️ Active | A type safe language for the Erlang VM. |
Artichoke | 2,500+ | ☀️ Active | A Ruby made with Rust. |
Gluon | 2,400+ | ☀️ Active | A static, type inferred and embeddable language written in Rust. |
Boa | 2,300+ | ☀️ Active | An embeddable and experimental Javascript engine written in Rust. |
Dyon | 1,400+ | ☀️ Active | A rusty dynamically typed scripting language. |
Scryer Prolog | 1,300+ | ☀️ Active | A modern Prolog implementation written mostly in Rust. |
Rhai | 1,200+ | ☀️ Active | An embedded scripting language for Rust. |
Mun | 1,200+ | ☀️ Active | A programming language empowering creation through iteration. |
Differential Datalog | 865 | ☀️ Active | An incremental programming language. |
goscript | 818 | ☀️ Active | Go specs implemented as a script language in Rust. |
Rune | 667 | ☀️ Active | An embeddable dynamic programming language for Rust. |
Passerine | 611 | ☀️ Active | A small extensible programming language designed for concise expression with little code. |
Nickel | 538 | ☀️ Active | Cheap configuration language. |
Pikelet | 530 | ☀️ Active | A friendly little systems language with first-class types. |
Parcel CSS | 513 | ☀️ Active | A CSS parser, transformer, and minifier written in Rust. |
CSML | 478 | ☀️ Active | Conversational Standard Meta Language. |
SPWN | 380 | ☀️ Active | A programming language that compiles to Geometry Dash levels. |
Ante | 323 | ☀️ Active | A safe, easy systems language. |
Starlight | 306 | ☀️ Active | JS engine in Rust. |
Wu | 298 | ☀️ Active | A practical game and data language. |
Orion | 206 | ☀️ Active | A high level, purely functional programming language with a LISP based syntax. |
Koto | 205 | ☀️ Active | A simple, expressive, embeddable programming language, made with Rust. |
Starlark | 199 | ☀️ Active | A Rust implementation of the Starlark language. |
Monkey-Rust | 196 | ☀️ Active | An interpreter for the Monkey programming language written in Rust. |
Wain | 182 | ☀️ Active | WebAssembly implementation from scratch in Safe Rust with zero dependencies. |
Leo | 180 | ☀️ Active | A Functional, Statically-Typed Language for Zero-Knowledge Applications. |
Eldiro | 136 | ☀️ Active | A programming language to teach how to implement languages in Rust. |
EndBASIC | 129 | ☀️ Active | BASIC environment with a REPL, a web interface, and RPi support written in Rust. |
Inko | 122 | ☀️ Active | Statically-typed, safe, OO language for writing concurrent programs. |
Tao | 85 | ☀️ Active | A statically-typed functional programming language. |
Minitt | 83 | ☀️ Active | Dependently-typed lambda calculus, Mini-TT, extended and implemented in Rust. |
Voile | 80 | ☀️ Active | Dependently-typed row-polymorphic programming language. |
Jazz | 79 | ☀️ Active | Modern and fast programming language. |
Rust-Prolog | 75 | ☀️ Active | Rust implementation of prolog based on miniprolog. |
Antimony | 55 | ☀️ Active | A bullshit-free programming language that gets out of your way. |
rtforth | 49 | ☀️ Active | Forth implemented in Rust for realtime applications. |
Crunch | 46 | ☀️ Active | A strongly & statically typed systems level language focused on ease of use, portability and speed, built for the modern age. |
Blazescript | 34 | ☀️ Active | A basic scripting language. |
crafting-interpreters-rs | 33 | ☀️ Active | Crafting Interpreters in Rust. |
Schwift | 28 | ☀️ Active | An imperative programming language based on the show Rick and Morty. |
Calcit | 26 | ☀️ Active | ClojureScript inspired language, supports indentation-based syntax and tree editor, interprets and also compiles to JavaScript. |
ucg | 22 | ☀️ Active | A configuration compiler with multiple formats as backends written in Rust. |
Steel | 22 | ☀️ Active | An embedded scheme interpreter written in Rust. |
Darksecond/lox | 21 | ☀️ Active | A rust implementation of the lox language. |
Laythe | 18 | ☀️ Active | A dynamically typed language originally based on the crafting interpreters series. |
Arn | 13 | ☀️ Active | A functional golfing language. |
rctcwyvrn/rlox | 9 | ☀️ Active | Rust implementation of the bytecode VM (clox) from Crafting Interpreters. |
Pr47 | 6 | ☀️ Active | An embedded script language specially designed for seemless interaction with Rust |
The Force | 5 | ☀️ Active | A fully armed and operational Star Wars themed programming language |
minipyth | 5 | ☀️ Active | A minimalist programming language. |
lox-rs | 6 | ☀️ Active | A Lox Interpreter in Rust. |
cloxrs | 5 | ☀️ Active | Lox implementation written in Rust. |
sasurau4/lox-rust | 4 | ☀️ Active | Interpreter for lox written by rust. |
loxrs | 3 | ☀️ Active | Crafting Interpreters in Rust (Part II: A tree-walk interpreter). |
loxidation | 3 | ☀️ Active | Lox bytecode compiler and VM in Rust. |
radogost/rlox | 3 | ☀️ Active | An implementation of lox from the great book Crafting Interpreters implemented in Rust. |
nt591/lox-rust | 2 | ☀️ Active | A Rust implementation of the Crafting Interpreters bytecode VM. |
roxt | 2 | ☀️ Active | A Lox interpreter written in Rust. |
rox | 0 | ☀️ Active | A Rust port of Crafting Interpreters. |
Skate | 1 | ☀️ Active | An experimental programming language. |
🌌 | 1 | ☀️ Active | Toy language with (almost) anything allowed as an identifier. |
Ellie | 0 | ☀️ Active | A scripting engine that runs on embedded and sandboxed environments. |
Garnet | N/A | ☀️ Active | Experiment with a lightweight systems programming language. |
Ketos | 695 | 🌙 Inactive | Lisp dialect scripting and extension language for Rust programs. |
Astro | 626 | 🌙 Inactive | A fun safe language for rapid prototyping and high performance applications. |
Atto | 125 | 🌙 Inactive | A simple self-hosted functional programming language. |
Rust-Lisp | 78 | 🌙 Inactive | A small Lisp interpreter written in Rust. |
Iridium | 43 | 🌙 Inactive | A register-based interpreter written in Rust. |
rulox | 43 | 🌙 Inactive | Implementation in Rust of lox, the language described in Crafting Interpreters. |
rodaine/rlox | 27 | 🌙 Inactive | Lox Interpreter/REPL written in Rust. |
tox | 26 | 🌙 Inactive | Tox is a statically typed version programming language that is written in rust. |
Lisp.rs | 24 | 🌙 Inactive | Scheme Interpreter in Rust. |
Synthizer | 19 | 🌙 Inactive | A simple, experimental functional language for real time additive audio synthesis. |
Radicle | 11 | 🌙 Inactive | An Ur-lisp interpreter written in Rust. |
cat-lox | 9 | 🌙 Inactive | A tree-walk lox interpreter written in Rust. |
Lang | 7 | 🌙 Inactive | An imperative programming language written in Rust. |
Iron | 5 | 🌙 Inactive | A Lisp-based language written in Rust. |
loxr | 6 | 🌙 Inactive | A Rust interpreter for the Lox language. |
relox | 6 | 🌙 Inactive | Rust port of the jlox interpreter. |
justinmayhew/lox | 4 | 🌙 Inactive | A Rust implementation of Lox from Crafting Interpreters. |
lax | 1 | 🌙 Inactive | A lox interpreter. |
yarli | 1 | 🌙 Inactive | Yet Another Rusty Lox Interpreter. |
*: Parcel is a large project of which the JavaScript transformer (written in Rust) is a small part. The "stars" number here reflects the whole project, which is broader than a programming language project.