This repository is a production-grade Rust implementation of the Starlark language, the deterministic Python-like configuration language used by build systems such as Bazel and Buck2. The system is structured as a multi-crate workspace: `starlark` provides the core runtime (parser, bytecode compiler, evaluator, garbage-collected heap, type system, and standard library), `starlark_syntax` handles parsing and AST, `starlark_map` offers high-performance ordered hash maps and sets, `starlark_derive` supplies procedural macros for defining Starlark-compatible Rust types, and `starlark_bin` bundles a CLI with REPL, linter, and Debug Adapter Protocol (DAP) server. Additional crates include `starlark_lsp` for Language Server Protocol support and a WASM example for embedding in JavaScript. The architecture is a classic interpreter pipeline: source text is parsed into an AST (`AstModule`), compiled to bytecode (with optimizations like constant folding, speculative execution, and inlining), and executed by a stack-based bytecode VM. Values are managed on a two-tier heap (unfrozen mutable and frozen immutable) with a custom bump allocator and explicit freeze operations. The type system supports both runtime type checking and static analysis, including union types, callable signatures, and generic type matchers. External dependencies include the `tower-lsp` and `lsp-types` crates for the LSP server, and several internal Facebook crates (e.g., `buck2_core`, `buck2_data`) for pagable serialization and profiling. Key entry points are `starlark::eval::eval_module` for programmatic evaluation, `starlark_bin/bin/main.rs` for the CLI, and the `#[starlark_module]` and `#[starlark_value]` proc macros for extending the language with custom types and functions. The system is designed for embedding in build tools, with a focus on performance, determinism, and debuggability.