flang the compiler proves your program cannot hang 0.7.29 GitHub Русский

The road to 1.0

The current release is 0.7.29. Below: what goes into 0.8, 0.9 and 1.0, in which order and by when. The dates are the lead's targets, not promises: every bar is closed by a run anyone can repeat, and until that run is green the bar is not closed. What the language already does is read elsewhere: Language reference, Installing, Releases.

bar10.2611.2612.2601.2702.2703.2704.27status
0.7.25 — exact numbers
exact integer and exact fraction without the 2^53 ceiling██done
a child's memory and time limit named by the program██done
the package registry page██done
0.8 — tooling
prebuilt binaries in the release: Linux and macOS, four triples████in progress
one install per channel (brew, asdf, binary, source)████queued
tooling in flang: shell and JavaScript leave██████in progress
Latin names are English words, no transliteration██in progress
field laws over fractions; case analysis, arithmetic, rewriting in the kernel████in progress
every rule of the record checker proved in Lean████in progress
0.9 — proofs
induction inside a proof; termination by a declared measure as a theorem██████queued
quantifiers inside formulas, existence without a named value████queued
a second, independent checker of the proof record██████in progress
packages: install, version resolution, lock file██████queued
category laws (monoid, monad) judged by the kernel████queued
1.0
two prints of the compiler agree, and CI checks it████queued
diagnostic and proof-record formats frozen████queued
three real services running for months██████████depends on users

What 1.0 means

Seven conditions, each checked by a command, not by a word:

  1. The compiler builds itself reproducibly. Two prints from one tree give the same C, and CI compares them on every release.
  2. Reprinting is cheap. A full print of the compiler takes under an hour on an ordinary machine (today about 80 minutes on the build server).
  3. The proof kernel is proved. Every rule the kernel closes a claim with has a theorem in Lean checked by a foreign kernel, and there is a second, independent check of the record.
  4. No known typing holes. Every hole found is either closed or named in the diagnostics reference with a number.
  5. Formats are stable. Diagnostic codes, the proof record and the intermediate form do not change without a new major version.
  6. Packages are complete. Search by name, install, version resolution, lock file.
  7. The language is in use. Several real services that live for months and get fixed when they fall.

0.7.25 — exact numbers (October 2026, shipping)

0.8 — tooling (November 2026)

What a programmer gets:

0.9 — proofs (February 2027)

1.0 (spring 2027)

Ruled out

How to check any line above: every bar has a task in docs/tasks/ and a decision in docs/adr/; a bar is closed by a green run, named on the Releases page.