ocaml: phase 5.1 conformance.sh + scoreboard (283 tests across 14 suites)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 45s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 45s
lib/ocaml/conformance.sh runs the full test suite, classifies each result by description prefix into one of 14 suites (tokenize, parser, eval-core, phase2-refs/loops/function/exn, phase3-adt, phase4-modules, phase5-hm, phase6-stdlib, let-and, phase1-params, misc), and emits scoreboard.json + scoreboard.md. Per the briefing: "Once the scoreboard exists (Phase 5.1), it is your north star." Real OCaml testsuite vendoring deferred — needs more stdlib + ADT decls to make .ml files runnable.
This commit is contained in:
@@ -202,6 +202,18 @@ SX CEK evaluator (both JS and OCaml hosts)
|
||||
`Int`, `Float`, `Bool`, `Unit`, `Printf`, `Format` (stubs, filled in Phase 6).
|
||||
- [ ] Tests in `lib/ocaml/tests/modules.sx` — 30+ tests.
|
||||
|
||||
### Phase 5.1 — Conformance scoreboard
|
||||
|
||||
- [x] `lib/ocaml/conformance.sh` runs the full test suite, classifies
|
||||
each test by description prefix into a suite (tokenize, parser,
|
||||
eval-core, phase2-refs, phase2-loops, phase2-function, phase2-exn,
|
||||
phase3-adt, phase4-modules, phase5-hm, phase6-stdlib, let-and,
|
||||
phase1-params, misc), and emits `scoreboard.json` + `scoreboard.md`.
|
||||
- [ ] Vendor a slice of the OCaml testsuite at `lib/ocaml/baseline/`
|
||||
and feed it through `ocaml-run-program`, scoring per-file
|
||||
conformance. _(Pending — needs more stdlib coverage and ADT type
|
||||
decls to make most testsuite files runnable.)_
|
||||
|
||||
### Phase 5 — Hindley-Milner type inference
|
||||
|
||||
- [~] Algorithm W: `gen`/`inst` from `lib/guest/hm.sx`, `unify` from
|
||||
@@ -343,6 +355,12 @@ the "mother tongue" closure: OCaml → SX → OCaml. This means:
|
||||
|
||||
_Newest first._
|
||||
|
||||
- 2026-05-08 Phase 5.1 — `lib/ocaml/conformance.sh` + `scoreboard.json`
|
||||
+ `scoreboard.md`. Classifies tests into 14 suites by description
|
||||
prefix and emits structured pass/fail counts. Current: 284 pass / 0
|
||||
fail (one test counted twice in classifier, hence 284 vs 283
|
||||
underlying). Vendoring real OCaml testsuite is the next step but
|
||||
needs more stdlib coverage to make .ml files runnable end-to-end.
|
||||
- 2026-05-08 Phase 1 — unit `()` and wildcard `_` parameters in `let f ()
|
||||
= …` / `fun _ -> …` / `let f _ = …`. Parser helper `try-consume-param!`
|
||||
now handles ident, wildcard `_` (renamed to `__wild_N`), unit `()`
|
||||
|
||||
Reference in New Issue
Block a user