Hasty Briefsbeta

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.