Interpreter

Top 23 Interpreter Open-Source Projects

Interpreter
  1. open-interpreter

    A natural language interface for computers

  2. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  3. xstate

    State machines, statecharts, and actors for complex logic

    Project mention: Welcome to the world of Statecharts | news.ycombinator.com | 2026-04-26

    Glad to see statecharts still getting attention!

    I created XState, a JS/TS library for authoring, executing, and visualizing state machines/statecharts: https://github.com/statelyai/xstate

    I've been working on it for 10+ years. The main thing I've learned is that statecharts are most valuable when they're treated as executable behavior, not just documentation.

    That doesn't mean you need to use them everywhere or model everything with them. They're most useful when you have behavior where the answer to "what happens next?" depends on both the current state & the event. A statechart can act as an oracle for questions like: "Given I'm in this state, when this event happens, what is the next state, and what effects should run?"

    I'm close to releasing an alpha of the next major version of XState, focused on better ergonomics, type safety, and composability, as well as a new visualizer/editor.

    There's also an open-source basic statechart visualizer here: https://sketch.stately.ai

    For the formal/spec side, SCXML is worth reading: https://www.w3.org/TR/scxml

    Also worth reading the original paper by David Harel: https://www.weizmann.ac.il/math/harel/sites/math.harel/files...

  4. V8

    The official mirror of the V8 Git repository

    Project mention: Changing How We Develop Ladybird | news.ycombinator.com | 2026-06-05

    > There will not be a [..] process for submitting patches by [any] means

    > Outside involvement still matters: clear bug reports

    So I can find a bug, I can fix it, but I am not allowed to tell them how exactly I did it.

    Instead they have to re-figure it out. The team must be thrilled to re-do work they know was already put in by others, repeatedly.

    As a user-and-eveloper, why would I sink time into a project with such rules that put a barrier to improving my life with the software? It seems much easier to use Firefox or Chromium, where my fixes actually meet open ears.

    It was very useful for me in the past when a new Chromium version crashed on my product, that I could go and suggest a fix to V8, and it was rolled out in the next Chromium release so my product worked again (https://github.com/v8/v8/commit/4f8a70adca01c). Without this, maybe Chromium developers would have never bothered to fix it because of lack of time to figure it out.

    > a pull request no longer tells us as much as it used to about the person submitting it

    Nobody should need to know anything about any person submitting a pull request.

  5. RustPython

    A Python Interpreter written in Rust

    Project mention: Pre-PEP: Rust for CPython | news.ycombinator.com | 2025-11-18

    Interesting proposal, but with severe risks: becoming dependent on a single specific compiler and rustc could include malicious code that isn’t obvious to an outside auditor. See https://aeb.win.tue.nl/linux/hh/thompson/trust.html Ken Thompson demonstrated this.

    But what will the future of RustPython be? https://github.com/RustPython/RustPython/

    Major shifts like this are complex, not so only from a technical perspective but even more because a lot of humans with different opinions are involved. But radical changes are sometimes needed to be innovative again.

  6. Crafting Interpreters

    Repository for the book "Crafting Interpreters"

    Project mention: Making your own programming language is easier than you think (but also harder) | news.ycombinator.com | 2026-05-09

    I wish people would start with Nystrom's https://www.craftinginterpreters.com/ and avoid the dragon etc unless they really, really need it. Almost everything I have learnt about compiler/vm development, I have done so by reading random blogs and articles on various aspects and small tutorials on writing parsers and vms.

    Even stuff like Crenshaw's Let's Build a Compiler was more useful to me than all these books that do lexical analysis using regular expressions. I have written lexers and parsers hundreds of times for all kinds of DSLs and config and not once have I used regular expressions to scan the text.

  7. awesome-compilers

    :sunglasses: Curated list of awesome resources on Compilers, Interpreters and Runtimes

  8. sh

    A shell parser, formatter, and interpreter with bash and zsh support; includes shfmt (by mvdan)

  9. yaegi

    Yaegi is Another Elegant Go Interpreter

  10. Wren

    The Wren Programming Language. Wren is a small, fast, class-based concurrent scripting language.

    Project mention: Wren: A classy little scripting language | news.ycombinator.com | 2025-10-22

    I was working on a custom runtime for minimal wasm apps recently. I didn't want to have to write all apps in C or Rust, so I went looking for tiny scripting languages. Lua is pretty small, but I wasn't able to get it to compile to pure wasm due to POSIX dependencies. This turned out to be quite easy with Wren[0]

    [0]: https://github.com/wren-lang/wren/issues/1199

  11. enso

    Enso Analytics is a self-service data prep and analysis platform designed for data teams.

  12. boa

    Boa is an embeddable Javascript engine written in Rust.

    Project mention: Brimstone: ES2025 JavaScript engine written in Rust | news.ycombinator.com | 2025-11-16

    It looks like Boa has Unicode tables compiled inside of itself: https://github.com/boa-dev/boa/tree/main/core/icu_provider

    Brimstone does not appear to.

    That covers the vast bulk of the difference. The ICU data is about 10.7MB in the source (boa/core/icu_provider) and may grow or shrink by some amount in the compiling.

    I'm not saying it's all the difference, just the bulk.

    There's a few reasons why svelte little executables with small library backings aren't possible anymore, and it isn't just ambient undefined "bloat". Unicode is a big one. Correct handling of unicode involves megabytes of tables and data that have to live somewhere, whether it's a linked library, compiled in, tables on disks, whatever. If a program touches text and it needs to handle it correctly rather than just passing it through, there's a minimum size for that now.

  13. red

    Red is a next-generation programming language strongly inspired by Rebol, but with a broader field of usage thanks to its native-code compiler, from system programming to high-level scripting and cross-platform reactive GUI, while providing modern support for concurrency, all in a zero-install, zero-config, single ~1MB file!

    Project mention: Red is a next-generation programming language strongly inspired by REBOL | news.ycombinator.com | 2025-08-30
  14. wasm-micro-runtime

    WebAssembly Micro Runtime (WAMR)

    Project mention: Show HN: Tiny VM sandbox in C with apps in Rust, C and Zig | news.ycombinator.com | 2025-12-12

    Really neat clean code!

    I like the single C file, but Docker if you want all the examples approach, that's really convenient for embedded.

    Test coverage looks good as well, be interesting to see the metrics.

    This would be quite cool for adding scripting to medical devices, avoiding the need to revalidate the "core" each time you change a feature.

    An interesting comparison would be against an embedded WASM bytecode interpreter like https://github.com/bytecodealliance/wasm-micro-runtime, which is still much larger at 56.3K on a Cortex M4F.

  15. CPython-Internals

    Dive into CPython internals, trying to illustrate every detail of CPython implementation

    Project mention: CPython Internals Explained | news.ycombinator.com | 2026-01-27
  16. AndroRAT

    A Simple android remote administration tool using sockets. It uses java on the client side and python on the server side

  17. gravity

    Gravity Programming Language

    Project mention: Gravity Language Architecture | news.ycombinator.com | 2026-02-23
  18. janet

    A dynamic language and bytecode vm

    Project mention: Clojure: The Documentary, official trailer [video] | news.ycombinator.com | 2026-03-31
  19. cling

    The cling C++ interpreter

  20. bhai-lang

    A toy programming language written in Typescript

    Project mention: Show HN: Building a Programming Language for Myself | news.ycombinator.com | 2026-05-19

    From the article: https://bhailang.js.org/ seems interesting, its something that I am able to understand the insider joke of as it is built upon the hindi language which is my native language.

    This post is posted by the author so I have a few questions, I do think this is cool but I would really like something like this but perhaps firstly kotlin/java transpiler or golang/C or maybe even rust transpiler, this currently seems to be an interpreted language.

    It could also be really interesting to see a language transpile to julia and then use a language like this but for gpu programming as Julia can natively compile to GPU's.

    Perhaps I might have misread but how does it really end up running, does it run in javascript/typescript? I would really love something like teak but for minimalist android app creations fwiw if that interests the author.

  21. cinder

    This is Meta's fork of the CPython runtime. The name "cinder" here is historical, see https://github.com/facebookincubator/cinderx for the Python extension / JIT compiler. (by facebookincubator)

    Project mention: We still chose C++ (instead of Rust) for new database development | news.ycombinator.com | 2025-09-29

    Full agree. Value types are underrated. That's one of the best things about C# and Go. They are increasing performance (with contiguous memory) and reducing GC pressure. I also believe that dynamically typed languages like Python would gain a lot by introducing a form of value types/unboxed values. For example, Cinder, Meta's internal version of CPython, supports what they call "static classes": https://github.com/facebookincubator/cinder?tab=readme-ov-fi....

  22. OpenJ9

    Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.

  23. GQL

    GitQL is a extensible SQL-like query language and SDK to perform queries on various data sources such .git files with supports of most of SQL features such as grouping, ordering and aggregation and window functions and allow customization like user-defined types and functions

  24. jquery.terminal

    jQuery Terminal Emulator - JavaScript library for creating web-based terminals with custom commands

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Interpreter discussion

Log in or Post with

Interpreter related posts

Index

What are some of the best open-source Interpreter projects? This list will help you:

# Project Stars
1 open-interpreter 63,811
2 xstate 29,671
3 V8 25,065
4 RustPython 22,090
5 Crafting Interpreters 10,732
6 awesome-compilers 9,781
7 sh 8,796
8 yaegi 8,278
9 Wren 8,020
10 enso 7,438
11 boa 7,288
12 red 5,998
13 wasm-micro-runtime 5,963
14 CPython-Internals 5,042
15 AndroRAT 4,719
16 gravity 4,528
17 janet 4,291
18 cling 4,139
19 bhai-lang 4,108
20 cinder 3,786
21 OpenJ9 3,522
22 GQL 3,497
23 jquery.terminal 3,235

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com

Did you know that C is
the 6th most popular programming language
based on number of references?