Starlark
Starlark is a programming language that was purpose-built for built systems. The embeddable rust starlark implementation that is also used in buck2 has a couple of very strong points:
- Nice API to lazily load/execute modules.
- Fast.
- Types.
- Clear impact on changed files. (no mutable global state)
- Language server integration.
Compared to a non-programmable config language, it allows us more flexible runtime configuration with less boilerplate.