Roadmap
Where Hale is heading. This is directional, not a commitment — the authoritative status for any feature is the language specification and its design rationale.
Language
Reserved or deferred in the spec, in rough priority order.
- Traits /
impl— structuralinterfaces ship today; full traits with explicit impls and generic bounds are a future extension. - Async / await — reserved keywords. The lifecycle state machine + cooperative pools cover much of the need; explicit async awaits a concrete workload.
- Richer forms — beyond
vec/hashmap/ring_buffer(e.g.set, iteration surfaces, bulk ops). - Effect / capability tracking — substrate-derivation is runtime-checked via closures today; a future version may lift it into the type system.
- Macros — reserved; no surface yet.
Tooling
- Playground — an in-browser editor backed by a WebAssembly build of the toolchain (see the playground page).
- Package registry — vendoring +
hale fetchis the v1 dependency model; a registry comes when a workload demands it. - Editor support — a tree-sitter grammar exists; an LSP is future work.
- Agent toolchain — the context pack, rules files, and
MCP server exist; next is
hale initproject scaffolding and structured MCP diagnostics.
This site
- An interactive playground + guided in-playground lessons.
- Keeping the guide and spec in sync with the compiler repo automatically.
Want to nudge a priority? The fastest signal is a real program that needs it — see community.