Canonical's Secure Starlark in Go
15 days ago
- #Starlark
- #Go
- #Configuration-Language
- Google's Starlark in Go project, maintained by Canonical, adds safety constraints to the language.
- Starlark is a dialect of Python used as a configuration language, with high-level data types and first-class functions.
- Starlark is embedded in larger applications, like Bazel, for structured data and scripting.
- Safety constraints include MemSafe, CPUSafe, TimeSafe, and IOSafe to manage resources.
- New features include a safety-testing framework (startest), safe helpers, and memory-usage estimation.
- Starlark-wide overflow protection, fallable iterators, and recursion limits enhance safety.
- Documentation includes language specs, implementation details, safety constraints, and breaking changes.
- Build and run instructions provided for the Starlark interpreter.
- Embedding Starlark in Go programs is supported with examples.
- Contributions require GitHub pull requests and a Canonical CLA.
- Supports the latest four Go toolchain releases.
- Starlark was designed by a team including Jon Brandvein and Alan Donovan, with a Go implementation by Donovan and Jay Conrod.
- Licensed under the 3-clause BSD license.