HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
meta
starlark-rust
Rust2021–2026
meta / starlark-rust

starlark-rust

A Rust implementation of the Starlark language

12Distinct people
14Mentions
0Explicit recommenders
1.1KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A Rust implementation of the Starlark language

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year14 dated mentions

Observed mentions: 2021-04-22 15:32:55 UTC to 2026-08-22 19:54:13 UTC.

012342021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC404
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC000
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC303
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC404
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC202
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC110

What Hacker News says

14 sources
> Why a new language? In my opinion, Starlark (in rust, Apache 2: <https://github.com/facebook/starlark-rust/blob/v0.13.0/LICEN...>) is the way since it is designed for sandboxed environments and also (AIUI) was initially designed to support Bazel, a build tool Now, I'm totally on board that people can hate on whitespace sensitive languages, but if my choice was "make my own language that no one has ever heard of" or "delete the Python hater's emails" ... It also would mean that you could tag your Werkfile in .gitattributes with linguist annotations[1] and they'd syntax highlight, which isn't the case with your own language https://github.com/simonask/werk/blob/5990c8a9536a1a76c3da59... 1: https://github.com/github-linguist/linguist/blob/v9.0.0/docs...
In Show HN: Werk, a simple build tool and command runner
Starlark is awesome. We studied the language quite a lot, Alan Donovan did awesome work on its golang runtime [1] and there are more implementations in rust [2] and others. Since the language and the backend allow to write deterministic functions, we found it's really suited well for automations written as durable functions. We implemented exactly that [3] over Temporal [4], though we also support Python as well among other runtimes. [1] https://github.com/google/starlark-go [2] https://github.com/facebook/starlark-rust [3] https://autokitteh.com, https://github.com/autokitteh/autokitteh [4] https://temporal.io
In Starlark Language
Starlark is a Python-ish subset intended for declarative-looking-but-still-procedural software configuration management in Bazel and Buck2. GDScript is their own take for the GODOT game engine. It looks like Python, but it's different. There are many usability advantages, like learning curve, by modeling off a commonly used language rather than dreaming up a completely new one. Here's a list of Python-like languages: https://blog.matt-rickard.com/p/the-python-family-of-languag... Starlark lang spec: https://github.com/bazelbuild/starlark/blob/master/spec.md Google implementations: https://github.com/google/starlark-go/ https://github.com/bazelbuild/bazel/tree/master/src/main/jav... Rust Google implementation taken over by Meta: https://github.com/facebookexperimental/starlark-rust https://developers.facebook.com/blog/post/2021/04/08/rust-
Read the rest
st... These are in the embeddable languages category like Lua and dialects of other languages with implementations such as mruby, daScript, emacs LISP, and ECL. And there were game-specific ones like QuakeC and Squirrel. Those were usually in the past because other embedded languages weren't available, but now hundreds of games use/d Lua because it doesn't make sense to build a language and runtime from scratch in most cases. Scriptability (or format documentation at least in the case of Doom-engine games) is key to implementing mods officially instead of as invasive game hacks like Super Dune 2.
In GDScript – Custom scripting language to be used with the Godot game engine
> It's really odd to me Lua is only used for games. It could take the same place Python has and many other things. It's a nice platform for scripting. I’ve written quite a bit of code in Fennel [1], a Lisp language which compiles to Lua, and enjoyed thoroughly the simplicity of Lua. I implemented map, filter and reduce by hand using Lua tables and genuinely experienced joy with how Lua tables are such a unifying concept throughout the language. I even enjoyed 1-based array indexing after a short while. (Furthermore, I have to say Lua is meant to be a Lisp, insofar as homoiconicity is the simplest language syntax, and being Lua underneath removes all the esoterica from Lisp, making the end result even simpler.) But Lua was designed from the very beginning with the assumption it would be embedded within a systems programming language like C
Read the rest
. Lua lacks basic functionality other, more full-featured scripting languages ship support for out of the box, e.g. Lua doesn’t even have mkdir. Also, once you survey the landscape for argument parsing in Lua, or cross-platform statically linked binary compilation in Lua, you realize the Lua ecosystem itself expects you to be using Lua as an embedded scripting language. I was able to get really far embedding Fennel in Rust, for example [2]. Rust is miles ahead of Lua in all the areas Lua is lacking. Instead of clumsily tacking on an object system on top of Lua, write Rust structs. Or instead of using ancient libraries for cross-platform filesystem and IO handling, leverage the native Rust ecosystem (see: dirs-next, clap). My idea was to just embed Fennel in Rust, and write almost no Rust. And while it does certainly work, I’m increasingly of the belief you should use the language best for the task. Lua is best at being an embedded scripting language, good when you want to ship an interpreter on top of a C/Rust application for instance, or when you want something fancier than TOML or INI for config. (In this department, see also the work being done on Starlark in the Bazel ecosystem [3].) [1]: https://fennel-lang.org/ [2]: https://git.sr.ht/~ioiojo/include-fnl [3]: https://github.com/facebookexperimental/starlark-rust
In Show HN: I open sourced a game I just released on Steam, written in Lua

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.