Skip to content

Roadmap

  • Front end: lexer, parser, precise diagnostics with a suggested fix.
  • Checker: needs against every call, the capability subset rule, secrets, a real type checker (inference, generics, enums with exhaustive match, 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 with use, a standard library, test blocks.
  • Tooling: sub check, explain, manifest, build, run, test, fmt, init, a language server.
  • Memory: region collection in the Wasm backend.
  • Centcom: sub manifest --centcom and 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
  • How an unattended agent gets its permissions approved, beyond --yes and the .sub-allow list.
  • How scripts call tools like git safely, beyond word-by-word run patterns.
  • The name and command: language names, trademarks, package names and the sub command should be checked before a public release.