From ac79328418f56690675a586db0c7280ae943da6b Mon Sep 17 00:00:00 2001 From: giles Date: Fri, 1 May 2026 10:19:10 +0000 Subject: [PATCH] =?UTF-8?q?plan:=20tick=20Phase=2011=20Tests=20=E2=80=94?= =?UTF-8?q?=2045=20sequence=20tests=20all=20passing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- plans/agent-briefings/primitives-loop.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plans/agent-briefings/primitives-loop.md b/plans/agent-briefings/primitives-loop.md index 57d69524..b93c299c 100644 --- a/plans/agent-briefings/primitives-loop.md +++ b/plans/agent-briefings/primitives-loop.md @@ -339,8 +339,11 @@ Steps: - [x] JS bootstrapper: update. Already done in Spec step (da4b526a) — sx-browser.js rebuilt with seqToList/sequenceToList/ sequenceToVector/sequenceLength/sequenceRef/sequenceAppend/inRange. 2137/2500 JS tests pass. -- [ ] Tests: 30+ tests in `spec/tests/test-sequences.sx` — map over vector, filter over +- [x] Tests: 30+ tests in `spec/tests/test-sequences.sx` — map over vector, filter over range, for-each over string chars, sequence-append, sequence->list/vector coercions. + 45 tests all passing: JS 2185/2498 (+48), OCaml 4424/1087 (+39). Fixed: vector? rename + (isVector), vectorLength/vectorRef/reverse aliases, in-range letrec→build-range, + sequence-length nil=0, assert-equal for list comparisons. Committed 0fe00bf7. - [ ] Commit: `spec: sequence protocol — polymorphic map/filter/for-each over list/vector/range` --- @@ -737,6 +740,7 @@ _Newest first._ - 2026-04-25: Phase 1 spec step done — all 10 vector primitives in spec/primitives.sx have full :as type annotations, :returns, :doc; make-vector optional fill param added. - 2026-04-25: Phase 1 OCaml step done — bounds-checked vector-ref/set!, vector-copy now accepts optional start/end, spec/primitives.sx doc updated. 10/10 r7rs vector tests pass, 4747 total (394 pre-existing hs-upstream fails unchanged). - 2026-04-25: Phase 0 complete — stopped CL/APL/Ruby/Tcl loops (all 4 idle at shell); confirmed E38 (tokenizer :end/:line) and E39 (WebWorker stub) both have implementation commits. +- 2026-05-01: Phase 11 Tests done — 45 tests in test-sequences.sx all passing (JS 2185/+48, OCaml 4424/+39). Fixed vector? rename, vectorLength/vectorRef/reverse aliases, in-range letrec→build-range, sequence-length nil, assert-equal for lists. Committed 0fe00bf7. - 2026-05-01: Phase 11 JS bootstrapper step done — confirmed sx-browser.js current (built in Spec step da4b526a); 19 sequence primitive refs in output; 2137/2500 JS tests passing. - 2026-05-01: Phase 11 OCaml step done — seq_to_list helper added before let-rec; ho_setup_dispatch wraps all 7 coll bindings with seq_to_list; seq-to-list/sequence-to-list/to-vector/length/ref/append + in-range primitives in sx_primitives.ml. 4385/4385 baseline unchanged, 0 regressions. Committed 7286629c. - 2026-05-01: Phase 11 Spec step done — seq-to-list coercion helper; ho-setup-dispatch extended with seqToList on all collection args; sequence-to-list/vector/length/ref/append + in-range added to evaluator.sx. Restored 3 accidentally-deleted make-cek-state/value/suspended definitions. Fixed 8 shorthand define forms + added vector->list/list->vector transpiler renames. JS: 2137 passing (+28 vs HEAD baseline of 2109).