diff --git a/docs/WhatsNew.md b/docs/WhatsNew.md index 5d3f304..285218b 100644 --- a/docs/WhatsNew.md +++ b/docs/WhatsNew.md @@ -32,3 +32,9 @@ Yesterday's note claimed the per-task review loop runs as separate fresh-context Every design spec now has to pass an independent check before approval. The check reads the spec with no prior context, extracts every claim it makes about how the project already works, and confirms each one against a currently-green test. If even one claim has no test backing it, the spec is discarded and the idea moves to the roadmap until the missing piece ships. An in-flight design for the eq/ord prelude was retired today because it would have failed this check: a load-bearing claim about how the compiler currently handles polymorphic helpers was never verified, and three implementation attempts on it had stalled. The re-think happens in a separate session once the missing mechanism exists. + +## 2026-05-12 — Eq/Ord prelude work back on track + +The blocker that stranded yesterday's eq/ord prelude work is fixed. The language now handles polymorphic helper functions that call class methods inside their body — the canonical shape every prelude helper takes — by routing both kinds of specialisation through one unified pass instead of two competing ones. A small fixture (`cmp_max` at three integer values) confirms it end-to-end, and the regression check shows the six existing primitive eq/ord symbols still produce bit-identical output. + +Next: the five missing prelude utilities (`ne`, `lt`, `le`, `gt`, `ge`) and their end-to-end tests.