Roadmap
Works today
Section titled “Works today”- Front end: lexer, parser, precise diagnostics with a suggested fix.
- Checker:
needsagainst every call, the capability subset rule, secrets, a real type checker (inference, generics, enums with exhaustivematch, failure families, refined types). - Backends: WebAssembly on Wasmtime with host-checked effects, and a WASI module for any runtime.
- Language: floats, enums, records with update, lambdas,
defer, tasks, modules withuse, a standard library,testblocks. - Tooling:
sub check,explain,manifest,build,run,test,fmt,init, a language server. - Memory: region collection in the Wasm backend.
- Centcom:
sub manifest --centcomand an integration design.
| Phase | What |
|---|---|
| Soon | A fuller self-hosted compiler (only the lexer is written in Subtype), while and break, mutable lists, a Map literal |
| Soon | Library namespaces (use ... as), private names, a package manager |
| Soon | Wasmtime for sub test, a policy file for unattended runs |
| Later | An LLVM or native backend, on purpose after the Wasm path |
| Later | The whole compiler written in Subtype |
Open questions
Section titled “Open questions”- How an unattended agent gets its permissions approved, beyond
--yesand the.sub-allowlist. - How scripts call tools like git safely, beyond word-by-word
runpatterns. - The name and command: language names, trademarks, package names and the
subcommand should be checked before a public release.