# Languages Written in Rust 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. ## What Can Be Included? 1. Is it a language? 2. Is it written in Rust? Then it can be included in this list! ## List of Languages | Name | ⭐ Stars | ☀️ Status | Description | |:-----|:---------|:-----------|:-----------| | [Deno] | 101,364 | ☀️ Active | A modern runtime for JavaScript and TypeScript. | | [Rust] | 100,852 | ☀️ Active | Empowering everyone to build reliable and efficient software. | | [Sway] | 62,462 | ☀️ Active | 🌴 Empowering everyone to build reliable and efficient smart contracts. | | [Typst] | 37,086 | ☀️ Active | A new markup-based typesetting system that is powerful and easy to learn. | | [nu] | 33,643 | ☀️ Active | A new type of shell | | [swc] | 31,560 | ☀️ Active | Rust-based platform for the Web | | [RustPython] | 19,534 | ☀️ Active | A Python Interpreter written in Rust | | [Gleam] | 18,641 | ☀️ Active | ⭐️ A friendly language for building type-safe, scalable systems! | | [Lightning CSS] | 6,751 | ☀️ Active | An extremely fast CSS parser, transformer, bundler, and minifier written in Rust. | | [Boa] | 5,397 | ☀️ Active | Boa is an embeddable and experimental Javascript engine written in Rust. Currently, it has support for some of the language. | | [Winglang] | 5,117 | ☀️ Active | A programming language for the cloud ☁️ A unified programming model, combining infrastructure and runtime code into one language ⚡ | | [Leo] | 4,802 | ☀️ Active | 🦁 The Leo Programming Language. A Programming Language for Formally Verified, Zero-Knowledge Applications | | [Roc] | 4,654 | ☀️ Active | A fast, friendly, functional language. | | [Melody] | 4,651 | ☀️ Active | Melody is a language that compiles to regular expressions and aims to be more readable and maintainable | | [Rhai] | 4,324 | ☀️ Active | Rhai - An embedded scripting language for Rust. | | [Kind] | 3,605 | ☀️ Active | A modern proof language | | [Gluon] | 3,262 | ☀️ Active | A static, type inferred and embeddable language written in Rust. | | [Artichoke] | 3,072 | ☀️ Active | 💎 Artichoke is a Ruby made with Rust | | [Erg] | 2,734 | ☀️ Active | A statically typed language compatible with Python | | [Nickel] | 2,479 | ☀️ Active | Better configuration for less | | [Scryer Prolog] | 2,133 | ☀️ Active | A modern Prolog implementation written mostly in Rust. | | [Chap] | 2,017 | ☀️ Active | A Left to right keywordless dynamically typed scripting language | | [Mun] | 1,933 | ☀️ Active | Source code for the Mun language and runtime. | | [Ante] | 1,932 | ☀️ Active | A safe, easy systems language | | [KCL] | 1,841 | ☀️ Active | KCL Programming Language (CNCF Sandbox Project). https://kcl-lang.io | | [Rune] | 1,836 | ☀️ Active | An embeddable dynamic programming language for Rust. | | [Uiua] | 1,725 | ☀️ Active | A stack-based array programming language | | [Fe] | 1,643 | ☀️ Active | Emerging smart contract language for the Ethereum blockchain. | | [Steel] | 1,456 | ☀️ Active | An embedded scheme interpreter in Rust | | [frawk] | 1,261 | ☀️ Active | an efficient awk-like language | | [Passerine] | 1,065 | ☀️ Active | A small extensible programming language designed for concise expression with little code. | | [Inko] | 933 | ☀️ Active | A language for building concurrent software with confidence | | [Koto] | 817 | ☀️ Active | A simple, expressive, embeddable programming language | | [Tvix] | 754 | ☀️ Active | Tvix - A Rust implementation of Nix. Read-only mirror of https://code.tvl.fyi/tree/tvix | | [Starlark] | 750 | ☀️ Active | A Rust implementation of the Starlark language | | [Veryl] | 564 | ☀️ Active | Veryl: A Modern Hardware Description Language | | [Duckscript] | 537 | ☀️ Active | Simple, extendable and embeddable scripting language. | | [fastn] | 471 | ☀️ Active | An easy-to-learn, open-source solution for building modern content-centric and database-driven websites. | | [jsparagus] | 451 | ☀️ Active | Experimental JS parser-generator project. | | [Lurk] | 438 | ☀️ Active | Lurk is a Turing-complete programming language for recursive zk-SNARKs. This is the prior, elliptic curve based variant of Lurk (contact: @porcuquine) | | [EndBASIC] | 331 | ☀️ Active | BASIC environment with a REPL, a web interface, a graphical console, and RPi support written in Rust | | [candy] | 327 | ☀️ Active | 🍭 A sweet, functional programming language that is robust, minimalistic, and expressive. | | [Roto] | 318 | ☀️ Active | The strongly-typed, compiled embedded scripting language for Rust, used by Rotonda. | | [Loxcraft] | 287 | ☀️ Active | Language tooling for the Lox programming language. | | [Tokay] | 242 | ☀️ Active | Tokay is a programming language designed for ad-hoc parsing, inspired by awk. | | [Antimony] | 146 | ☀️ Active | The Antimony programming language | | [Calcit] | 119 | ☀️ Active | Indentation-based ClojureScript dialect in Rust and compiling to JavaScript ES Modules | | [darklua] | 107 | ☀️ Active | A command line tool that transforms Lua code | | [Laythe] | 64 | ☀️ Active | A gradually typed language originally based on the crafting interpreters series | | [RayQL] | 53 | ☀️ Active | RayQL is a schema definition and query language for SQLite | | [Xylo] | 47 | ☀️ Active | Xylo is a functional programming language for procedural art | | [Ellie] | 44 | ☀️ Active | Ellie is a type-safe programing language that runs on embedded and sandboxed environments. | | [tpl-lang] | 21 | ☀️ Active | 🦀 Toy Language based on LLVM | | [Cyrus Lang] | 20 | ☀️ Active | Cyrus: A high-performance, statically-typed, manually memory-managed and procedural programming language empowered by GCCJIT. | | [Wright] | 19 | ☀️ Active | The wright programming language (WIP) | | [Watt] | 18 | ☀️ Active | 🍹 Lightweight, dynamically typed, simple scripting programming language. | | [Adept3x] | 7 | ☀️ Active | A language designed to help maximize developer productivity and safety | | [Nukleus] | 16 | ☀️ Active | Simple and fast Dynamic Modular Structure-based AI, GUI, Cross-Platform Programming Language | | [snow-lang] | 12 | ☀️ Active | A functional programming language | | [Mastermind] | 8 | ☀️ Active | A custom programming language which compiles to the well-known esolang "Brainfuck". | | [rusch] | 2 | ☀️ Active | Minimal Scheme implemented in Rust | | [Lateralus] | 2 | ☀️ Active | A pipeline-native programming language with pattern matching, ADTs, type inference, borrow checking, and multiple backends (C, LLVM, WASM). | | [GLang] | 0 | ☀️ Active | 🐶 Dog based, easy to learn language for complete beginners | | [Skillet] | 5 | ☀️ Active | 🥘 Blazing-fast formula language & engine to perform calculations with familiar Excel formula syntax. | | [Rak] | 0 | ☀️ Active | A general purpose programming language mainly made for cyber security usage. | | [Move] | 2,284 | 🌙 Inactive | None | | [Dyon] | 1,798 | 🌙 Inactive | A rusty dynamically typed scripting language | | [goscript] | 1,534 | 🌙 Inactive | An alternative implementation of Golang specs, written in Rust for embedding or wrapping. | | [Differential Datalog] | 1,394 | 🌙 Inactive | DDlog is a programming language for incremental computation. It is well suited for writing programs that continuously update their output in response to input changes. A DDlog programmer does not write incremental algorithms; instead they specify the desired input-output mapping in a declarative manner. | | [Tao] | 1,105 | 🌙 Inactive | A statically-typed functional language with generics, typeclasses, sum types, pattern-matching, first-class functions, currying, algebraic effects, associated types, good diagnostics, etc. | | [SPWN] | 1,062 | 🌙 Inactive | A language for Geometry Dash triggers | | [ClojureRS] | 961 | 🌙 Inactive | Clojure, implemented atop Rust (unofficial) | | [Astro] | 758 | 🌙 Inactive | A fun safe language for rapid prototyping and high performance applications | | [Ketos] | 752 | 🌙 Inactive | Lisp dialect scripting and extension language for Rust programs | | [CSML] | 714 | 🌙 Inactive | CSML is an easy-to-use chatbot programming language and framework. | | [Pikelet] | 613 | 🌙 Inactive | A friendly little systems language with first-class types. Very WIP! 🚧 🚧 🚧 | | [Starlight] | 517 | 🌙 Inactive | JS engine in Rust | | [Wu] | 476 | 🌙 Inactive | 🐉 A practical game and data language | | [Wain] | 441 | 🌙 Inactive | WebAssembly implementation from scratch in Safe Rust with zero dependencies | | [CalcuLaTeX] | 398 | 🌙 Inactive | A pretty printing calculator language with support for units. Makes calculations easier and more presentable with real time LaTeX output, along with support for units, variables, and mathematical functions. | | [Monkey-Rust] | 371 | 🌙 Inactive | An interpreter for the Monkey programming language written in Rust | | [Sphinx] | 291 | 🌙 Inactive | An intepreter for a simple dynamic language written in Rust | | [crafting-interpreters-rs] | 277 | 🌙 Inactive | Crafting Interpreters in Rust | | [Eldiro] | 258 | 🌙 Inactive | Learn to make your own programming language with Rust | | [TablaM] | 196 | 🌙 Inactive | The practical relational programing language for data-oriented applications | | [atto] | 152 | 🌙 Inactive | An insanely simple self-hosted functional programming language | | [Boson] | 121 | 🌙 Inactive | A hybrid programming language written in Rust. | | [Minitt] | 117 | 🌙 Inactive | Dependently-typed lambda calculus, Mini-TT, extended and implemented in Rust | | [Darksecond/lox] | 103 | 🌙 Inactive | A rust implementation of the lox language | | [Voile] | 96 | 🌙 Inactive | Dependently-typed row-polymorphic programming language, evolved from minitt-rs | | [Jazz] | 91 | 🌙 Inactive | Jazz - modern and fast programming language. | | [Rust-lisp] | 84 | 🌙 Inactive | A small Lisp interpreter written in Rust. Work in progress. | | [ssp16asm] | 82 | 🌙 Inactive | A collection of development tools targetting SEGA's SVP chip found in the Mega Drive/Genesis version of Virtua Racing. | | [Rust-Prolog] | 80 | 🌙 Inactive | Rust implementation of prolog based on miniprolog: http://andrej.com/plzoo/html/miniprolog.html | | [diatom] | 72 | 🌙 Inactive | The diatom programming language | | [Calypso] | 66 | 🌙 Inactive | Calypso is a mostly imperative language with some functional influences that is focused on flexibility and simplicity. | | [rulox] | 63 | 🌙 Inactive | Implementation in Rust of lox, the language described in Crafting Interpreters | | [Oriel] | 56 | 🌙 Inactive | An interpreter for the 1991 Oriel scripting language | | [Crunch] | 52 | 🌙 Inactive | A strongly & statically typed systems level language focused on ease of use, portability and speed, built for the modern age. | | [Blazescript] | 47 | 🌙 Inactive | AOT compiled object oriented programming language | | [lox-rs] | 46 | 🌙 Inactive | A Lox Interpreter in Rust | | [Chili] | 42 | 🌙 Inactive | General-purpose, compiled programming language, focused on productivity, expressiveness and joy of programming™ | | [Stellar] | 40 | 🌙 Inactive | ✨ An open source WIP general programming language for web development built using Rust. ✨ | | [tox] | 36 | 🌙 Inactive | Tox is a statically typed version programming language that is written in rust. | | [rodaine/rlox] | 36 | 🌙 Inactive | Lox Interpreter/REPL written in Rust | | [ucg] | 36 | 🌙 Inactive | A Universal Configuration Grammar | | [Schwift] | 30 | 🌙 Inactive | An actual programming language for some reason | | [Lisp.rs] | 26 | 🌙 Inactive | Scheme Interpreter in Rust | | [The Force] | 23 | 🌙 Inactive | A Star Wars themed programming language | | [Terbium] | 23 | 🌙 Inactive | A high-level language that doesn't compromise in performance, made with Rust. | | [Synthizer] | 21 | 🌙 Inactive | A simple, experimental functional language for real time additive audio synthesis. | | [rctcwyvrn/rlox] | 21 | 🌙 Inactive | Rust implementation of the bytecode VM (clox) from https://craftinginterpreters.com/ | | [Pr47] | 21 | 🌙 Inactive | The formal development repository for Pr47 | | [cat-lox] | 19 | 🌙 Inactive | A tree-walk lox interpreter written in Rust. | | [Arn] | 16 | 🌙 Inactive | A functional golfing language | | [Tethys] | 14 | 🌙 Inactive | A toy functional programming language with a System F-based core calculus - Read-only mirror from sr.ht | | [Sligh] | 12 | 🌙 Inactive | A language for certifying specification | | [Radicle] | 11 | 🌙 Inactive | an ur-lisp interpreter written in Rust | | [loxr] | 9 | 🌙 Inactive | A Rust interpreter for the Lox language | | [radogost/rlox] | 8 | 🌙 Inactive | An implementation of lox from the great book http://craftinginterpreters.com implemented in Rust | | [Lang] | 7 | 🌙 Inactive | An imperative programming language written in Rust | | [sasurau4/lox-rust] | 7 | 🌙 Inactive | Interpreter for lox written by rust | | [minipyth] | 7 | 🌙 Inactive | A minimalist programming language | | [Iron] | 6 | 🌙 Inactive | A Lisp-based language written in Rust | | [rox] | 6 | 🌙 Inactive | A Rust port of Crafting Interpreters | | [loxrs] | 6 | 🌙 Inactive | [Outdated] Crafting Interpreters in Rust (Done Part II: A tree-walk interpreter) | | [relox] | 6 | 🌙 Inactive | Rust port of the jlox interpreter | | [🌌] | 6 | 🌙 Inactive | What if identifiers could be anything? Langjam submission | | [loxidation] | 5 | 🌙 Inactive | Lox bytecode compiler and VM in Rust | | [justinmayhew/lox] | 5 | 🌙 Inactive | A Rust implementation of Lox from Crafting Interpreters | | [lax] | 4 | 🌙 Inactive | a lox interpreter | | [roxt] | 4 | 🌙 Inactive | A Lox interpreter written in Rust | | [cloxrs] | 3 | 🌙 Inactive | Lox implementation written in Rust | | [yarli] | 3 | 🌙 Inactive | Yet Another Rusty Lox Interpreter | | [PopperLang] | 2 | 🌙 Inactive | The CLI that group all project to one to finally make the Popper-lang | | [rtforth] | 1 | 🌙 Inactive | Forth implemented in Rust for realtime application | | [nt591/lox-rust] | 1 | 🌙 Inactive | A Rust implementation of the Crafting Interpreters bytecode VM | | [Tron] | 0 | 🌙 Inactive | Statically typed general purpose programming language | *: 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. [fastn]: https://github.com/fastn-stack/fastn [Dyon]: https://github.com/pistondevelopers/dyon [Ketos]: https://github.com/murarth/ketos [Rhai]: https://github.com/jonathandturner/rhai [Gluon]: https://github.com/gluon-lang/gluon [Cyrus Lang]: https://github.com/cyrus-lang/Cyrus-Lang [Antimony]: https://github.com/antimony-lang/antimony [Tao]: https://github.com/zesterer/tao [Lang]: https://github.com/gsingh93/lang [Iron]: https://github.com/Arcterus/iron-lang [atto]: https://github.com/zesterer/atto [Rust-lisp]: https://github.com/swgillespie/rust-lisp [Lisp.rs]: https://github.com/jsdf/lisp.rs [Radicle]: https://github.com/nham/radicle [Rust-Prolog]: https://github.com/dagit/rust-prolog [Synthizer]: https://github.com/nwoeanhinnogaehr/synthizer [rtforth]: https://github.com/chengchangwu/rtforth [Schwift]: https://github.com/natemara/schwift [Gleam]: https://github.com/gleam-lang/gleam [Blazescript]: https://github.com/BlazifyOrg/blazescript [Starlark]: https://github.com/facebookexperimental/starlark-rust [Crunch]: https://github.com/Kixiron/crunch-lang [Eldiro]: https://github.com/arzg/eldiro [Starlight]: https://github.com/Starlight-JS/Starlight [Differential Datalog]: https://github.com/vmware/differential-datalog [Boa]: https://github.com/boa-dev/boa [Nickel]: https://github.com/tweag/nickel [Artichoke]: https://github.com/artichoke/artichoke [Ellie]: https://github.com/behemehal/Ellie-Language [Mun]: https://github.com/mun-lang/mun [Koto]: https://github.com/koto-lang/koto [Ante]: https://github.com/jfecher/ante [Astro]: https://github.com/astrolang/astro [Rune]: https://github.com/rune-rs/rune [Pikelet]: https://github.com/pikelet-lang/pikelet [Passerine]: https://github.com/vrtbl/passerine [CSML]: https://github.com/CSML-by-Clevy/csml-engine [frawk]: https://github.com/ezrosent/frawk [SPWN]: https://github.com/Spu7Nix/SPWN-language [Wu]: https://github.com/wu-lang/wu [Wain]: https://github.com/rhysd/wain [Leo]: https://github.com/AleoHQ/leo [EndBASIC]: https://github.com/jmmv/endbasic [Voile]: https://github.com/owo-lang/voile-rs [Jazz]: https://github.com/jazz-lang/Jazz [Minitt]: https://github.com/owo-lang/minitt-rs [cat-lox]: https://github.com/AaronStGeorge/cat-lox [lax]: https://github.com/alisww/lax [cloxrs]: https://github.com/anellie/cloxrs [rox]: https://github.com/brightly-salty/rox [Darksecond/lox]: https://github.com/darksecond/lox [loxr]: https://github.com/HarveyHunt/loxr [lox-rs]: https://github.com/jeschkies/lox-rs [Laythe]: https://github.com/Laythe-lang/Laythe [Lateralus]: https://github.com/bad-antics/lateralus-lang [tox]: https://github.com/Lapz/tox [loxidation]: https://github.com/LevitatingBusinessMan/Loxidation [rulox]: https://github.com/mariosangiorgio/rulox [justinmayhew/lox]: https://github.com/justinmayhew/lox [nt591/lox-rust]: https://github.com/nt591/lox-rust [radogost/rlox]: https://github.com/radogost/rlox [rctcwyvrn/rlox]: https://github.com/rctcwyvrn/rlox [rodaine/rlox]: https://github.com/rodaine/rlox [sasurau4/lox-rust]: https://github.com/sasurau4/lox-rust [yarli]: https://github.com/silmeth/yarli [loxrs]: https://github.com/toyboot4e/loxrs [crafting-interpreters-rs]: https://github.com/tdp2110/crafting-interpreters-rs [roxt]: https://github.com/trevarj/roxt [relox]: https://github.com/yanchith/relox [Sligh]: https://github.com/amw-zero/sligh [Monkey-Rust]: https://github.com/Rydgel/monkey-rust [Lightning CSS]: https://github.com/parcel-bundler/lightningcss [swc]: https://github.com/swc-project/swc [Calcit]: https://github.com/calcit-lang/calcit_runner.rs [Steel]: https://github.com/mattwparas/steel [ucg]: https://github.com/zaphar/ucg [goscript]: https://github.com/oxfeeefeee/goscript [Pr47]: https://github.com/Pr47/Pr47 [The Force]: https://github.com/mirdaki/theforce [🌌]: https://github.com/mrozycki/space-lang [Arn]: https://github.com/ZippyMagician/Arn [minipyth]: https://github.com/isaacg1/minipyth [Scryer Prolog]: https://github.com/mthom/scryer-prolog [CalcuLaTeX]: https://github.com/mkhan45/CalcuLaTeX [RustPython]: https://github.com/RustPython/RustPython [Melody]: https://github.com/yoav-lavi/melody [Fe]: https://github.com/ethereum/fe [Sway]: https://github.com/FuelLabs/sway [Sphinx]: https://github.com/mwerezak/sphinx-lang [Calypso]: https://github.com/calypso-lang/calypso [Tethys]: https://github.com/ThePuzzlemaker/tethys [Chili]: https://github.com/r0nsha/chili [Rust]: https://github.com/rust-lang/rust [Inko]: https://github.com/YorickPeterse/inko [Erg]: https://github.com/erg-lang/erg [KCL]: https://github.com/kcl-lang/kcl [Tokay]: https://github.com/tokay-lang/tokay [Deno]: https://github.com/denoland/deno [Lurk]: https://github.com/lurk-lang/lurk-rs [Boson]: https://github.com/Narasimha1997/boson-lang [Kind]: https://github.com/HigherOrderCO/Kind [Wright]: https://github.com/vcfxb/wright-lang [ssp16asm]: https://github.com/jdesiloniz/svpdev [jsparagus]: https://github.com/mozilla-spidermonkey/jsparagus [Veryl]: https://github.com/dalance/veryl [TablaM]: https://github.com/Tablam/TablaM [PopperLang]: https://github.com/popper-lang/popper-lang [nu]: https://github.com/nushell/nushell [Roc]: https://github.com/roc-lang/roc [Move]: https://github.com/move-language/move [Typst]: https://github.com/typst/typst [Stellar]: https://github.com/quantumatic/stellar [Oriel]: https://github.com/wojciech-graj/oriel [Duckscript]: https://github.com/sagiegurari/duckscript [Terbium]: https://github.com/terbium-lang/terbium [Loxcraft]: https://github.com/ajeetdsouza/loxcraft [rusch]: https://github.com/twolodzko/rusch [ClojureRS]: https://github.com/clojure-rs/ClojureRS [diatom]: https://github.com/diatom-lang/diatom [darklua]: https://github.com/seaofvoices/darklua [Tvix]: https://github.com/tvlfyi/tvix [Watt]: https://github.com/vyacheslavhere/watt [Adept3x]: https://github.com/IsaacShelton/Adept3x [Tron]: https://github.com/418e/Tron [Nukleus]: https://github.com/Nukleus-Language/nukleus [snow-lang]: https://github.com/cowboy8625/snow-lang [candy]: https://github.com/candy-lang/candy [Winglang]: https://github.com/winglang/wing [Uiua]: https://github.com/uiua-lang/uiua [RayQL]: https://github.com/harshdoesdev/rayql [Mastermind]: https://github.com/Heathcorp/Mastermind [tpl-lang]: https://github.com/mealet/tpl-lang [Chap]: https://github.com/ali77gh/Chap [Xylo]: https://github.com/giraffekey/xylo [Roto]: https://github.com/NLnetLabs/roto [GLang]: https://github.com/mpsoftwarefoundation/GeorgeLanguage [Skillet]: https://github.com/zenbakiak/skillet [Rak]: https://github.com/louiml/rak