Agents: Sidecar, Not Core
Earlier drafts of Turbo proposed agent and tool fn as first-class language keywords. That direction has been retired. These features will ship as a separate library, turbo-agent, built on top of the stable 1.0 core — not as compiler features.
No agent keywords exist today, and none are planned for the core language.
The current compiler does not parse, type-check, or execute agent or tool fn, and the 1.0 stability contract (see COMPATIBILITY.md) will not include them either. Agent workflows are a library concern, not a language concern.
Why move this out of the compiler?
LLM tooling — model providers, tool-calling schemas, memory strategies, supervision patterns — moves fast and changes shape every few months. A core language must not. If we baked those decisions into the grammar, every pivot in the AI ecosystem would break source compatibility across a whole fleet of Turbo programs.
By keeping the core small, we can promise real stability at 1.0. A future turbo-agent library can iterate freely on top of it.
What the core ships that makes a sidecar credible
- Typed async —
async fn,spawn,await, channels, mutex - HTTP client + server— enough to talk to any model provider's API
- Typed serialization — JSON builtins, struct derive attributes
- Native compilation — JIT, AOT, and WASM output
- Tooling integration — formatter, tests, playground, LSP
What's on the roadmap
- Ship Turbo core 1.0 with the stability contract in COMPATIBILITY.md
- Start
turbo-agentas a separate repository and SemVer line - Provide idiomatic building blocks — provider adapters, tool-calling schemas, streaming responses, conversation memory — as library types, not compiler keywords