-
Notifications
You must be signed in to change notification settings - Fork 4.4k
Labels
P1I'll work on this now. (Assignee required)I'll work on this now. (Assignee required)team-Starlark-InterpreterIssues involving the Starlark interpreter used by BazelIssues involving the Starlark interpreter used by Bazeltype: feature request
Description
Support type annotations and type checking in Starlark
The first goal is: correctness and readability of Starlark code
Other goals are:
- improving efficiency of Starlark interpreter and
- Bazel tech-debt reduction
Roadmap:
Milestone 1 (Q4 2024) - MVP - Bootstraping Starlark types
Design doc: SEP-001 Bootstrapping Starlark types
Starlark specification is incrementally extended under the starlark-with-types branch: https://github.com/bazelbuild/starlark/blob/starlark-with-types/spec.md
Goal: Provide a minimally viable type system in Starlark
- Extend Starlark syntax with type annotations #24407
- Primitive types
- Unions, Collections, functions and constructed types
- Runtime/dynamic type checks
- Bazel/Starlark built-in types (struct)
- Launch MVP
Milestone 2 - Static type checking and type inference
Backlog
- Providers/classes
- Types for Rules & Symbolic macros
- Types for selects
- Types for Java-Starlark interface / Java annotations
- Support types in tooling & IDEs
brentleyjones, sluongng, ajwerner, JohnnyMorganz, jin and 6 more
Metadata
Metadata
Assignees
Labels
P1I'll work on this now. (Assignee required)I'll work on this now. (Assignee required)team-Starlark-InterpreterIssues involving the Starlark interpreter used by BazelIssues involving the Starlark interpreter used by Bazeltype: feature request
Type
Projects
Status
Done