Skip to content

revl 2.0.0 — the full language

Latest

Choose a tag to compare

@inso1337 inso1337 released this 17 Aug 09:28
· 4438 commits to main since this release

The 2.0 full language on the frozen v1 core: a TypeScript-subset stratum of pure functions (var/while/for-of local mutation, by-value lambdas), types & ADTs with exhaustiveness-checked match, modules, template strings, extern host blocks on the G8 audit surface, in-file test blocks, realms & interception, sound expression typing + null safety, and a specified stdlib surface (unknown methods are compile errors, never host pass-throughs).

Highlights

  • Five backend tiers — cordis-py, cordis (TS), cordis-wasm, and new cordis-rs (Rust) and cordis4j (Java) backends. The Rust and Java tiers are verified by A1/G7 runtime scenarios on the real runtimes (cordis-rs 0.3.0 from crates.io; cordis4j-core compiled from source): LIFO teardown, fail-revert (A8/L-Raise), reactive provider/consumer lifecycle, divert races. Cross-tier divergences are pinned in docs/contract-errata.md.
  • Turing-complete, demonstrated by execution — fib and Collatz compiled and run from emitted code.
  • The §10 acceptance benchmark ran: 30 component specs × {1.x, 2.0, 2.0+host-blocks}, typed vs pre-typing checker, with an error-feedback loop. Sound typing cost models nothing; 176/180 cells compile within 3 iterations. Results in bench/results/ and the README.
  • First self-hosting stage: selfhost/lexer.rvl — the revl lexer written in revl, token-for-token identical to the reference lexer over the example corpus, including its own source.

Full design: DESIGN.md · roadmap: docs/v2.0-roadmap.md

🤖 Generated with Claude Code