A Rust implementation of the Starlark language, used for configuration in build systems like Bazel and Buck.
Starlark in Rust is a library that provides a Rust implementation of the Starlark language. Starlark is a deterministic, Python-like language used primarily for configuration in build systems such as Bazel, Buck, and Buck2. This library allows developers to embed Starlark within Rust applications, enabling scripting and configuration capabilities.
Rust developers who need to embed a scripting or configuration language in their applications, particularly those working on build tools, development tools, or systems requiring extensible configuration.
It offers seamless interoperability between Rust and Starlark, along with features like garbage collection, type checking, and IDE support, making it a robust choice for embedding Starlark in Rust ecosystems.
A Rust implementation of the Starlark language
Offers easy conversion between Rust types and Starlark values, enabling smooth embedding and extension in Rust applications, as highlighted in the README's interoperability features.
Includes Language Server Protocol (LSP) for IDE support and Debug Adapter Protocol (DAP) for debugging, enhancing the development experience for Starlark scripts.
Features extensive testing, including fuzz testing, which ensures reliability and stability across various use cases, as mentioned in the project's testing goals.
Provides runtime-checked types for enhanced safety, allowing developers to add type annotations to Starlark code, which is documented in the types section.
Prioritizes rapid iteration over API stability, making it challenging for projects that require long-term compatibility, as stated in the non-goals section.
Opts for a feature-rich single package rather than minimizing dependencies, which can bloat projects, as admitted in the README's dependency philosophy.
Lacks support for some Starlark features like bytes, limiting compatibility with scripts that use newer spec elements, as noted in the compatibility section.
Requires building a custom binary for domain-specific bindings, since the provided starlark_bin only supports standard Starlark, adding overhead for tailored use cases.
Boa is an embeddable Javascript engine written in Rust.
Rhai - An embedded scripting language for Rust.
A static, type inferred and embeddable language written in Rust.
KCL Programming Language Core and API (CNCF Sandbox Project). https://kcl-lang.io
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.