News
ry 0.3.0 — a complete rewrite
Section titled “ry 0.3.0 — a complete rewrite”July 2026 · currently in alpha
Version 0.3.0 replaces the previous implementation end to end: a new parser, a new analysis engine, and a static type checker — the first for R.
- Renamed from Roughly to ry. The binary is
ry, the config file isry.toml, and suppression comments are# ry: allow(...). Nothing needs changing to upgrade: the old names are still honoured. The crate is published asry-lang. - A static type checker for R — novel and experimental. Hindley–Milner inference with numeric
constraints and generics, driven by
#:annotation comments. Type errors are opt-in via[check] typing; hover, completion, signature help, and inlay hints use the inferred types either way. - A hand-written R parser. Lossless syntax trees, recovery from broken input, and precise diagnostics that feed directly into the analysis, so one mistake does not hide the findings in the rest of the file.
- A new incremental analysis engine. A memoized query core re-checks only what an edit could have affected; per-edit results are verified byte-identical to a from-scratch analysis.
- Type stubs for the standard library. Declaration-only
.Rtypesstubs for base, stats, utils, and methods ship in the binary; a project can override any of them. - Editor features on the new analysis: hover, completion, go-to-definition, references, rename,
document and workspace symbols, inlay hints, signature help, and semantic highlighting of
#:annotations. - Formatter and linter run on the same syntax trees as the analysis, so every tool reports the same picture of your code.
- An R console.
ry replandry runload your system R — the only commands that do — with completion backed by the project analysis. - New documentation at ry-lang.org: a type-checking tutorial, guides, and reference pages.
Binaries are on GitHub Releases, and the VS Code extension is on the Marketplace.