Skip to content

v0.1.0

Latest

Choose a tag to compare

@aallan aallan released this 04 Jul 20:15
e87a996

v0.1.0 — the first minor release: zero known bugs.

Over the bug burndown, every open bug-labelled issue — 37 in all — was fixed on a single release/v0.1.0 integration branch, each on its own adversarially-reviewed PR, then the release was cut with a full documentation sweep and the literal "No known bugs."

Highlights

  • Silent-miscompile gates. compare / ordering on a user ADT (had compiled to a heap-pointer compare) and == on a non-Eq type (pointer identity, not value equality) are now rejected at check with E242 / E243 — the severest failure class, closed.
  • Structural show / hash / eq over composite, recursive, nested-generic, and generic-mutually-recursive ADTs; a polymorphically-recursive Box<Box<T>> degrades to a clean skip rather than a traceback.
  • Effect handlers work over composite / parameterized type arguments.
  • Module imports — transitive, nested fn-type-alias, single-uppercase ADT names, and closure-body generics — all resolve.
  • Verifier no longer crashes on nested same-ADT constructors; injective Z3 sort names; ADT-typed call-site precondition obligations; contract-predicate degradation.
  • Browser State<T> composite-Float default fixed.
  • Diagnostics. Zero-size Array / generic-@T / refinement edge cases now reject cleanly at check with a single E135 / E206, never a codegen traceback or a duplicate error.

By the numbers

6,779 tests, 143 conformance programs, 37 examples, 91% code coverage, and a 14-chapter specification.


Full detail for every fix is in CHANGELOG.md and the release PR #938.

🤖 Release prepared with Claude Code