From 6a6a94e203e7045aba48df7c01e19c1dc0fc34da Mon Sep 17 00:00:00 2001 From: giles Date: Wed, 6 May 2026 18:37:10 +0000 Subject: [PATCH] plans: tick Phase 3 step 1 reshape/transpose, progress log Co-Authored-By: Claude Sonnet 4.6 --- plans/apl-on-sx.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plans/apl-on-sx.md b/plans/apl-on-sx.md index f9bea3b4..e78c93d0 100644 --- a/plans/apl-on-sx.md +++ b/plans/apl-on-sx.md @@ -63,7 +63,7 @@ Core mapping: - [x] 40+ tests in `lib/apl/tests/scalar.sx` ### Phase 3 — structural primitives + indexing -- [ ] Reshape `⍴`, ravel `,`, transpose `⍉` (full + dyadic axis spec) +- [x] Reshape `⍴`, ravel `,`, transpose `⍉` (full + dyadic axis spec) - [ ] Take `↑`, drop `↓`, rotate `⌽` (last axis), `⊖` (first axis) - [ ] Catenate `,` (last axis) and `⍪` (first axis) - [ ] Index `⌷` (squad), bracket-indexing `A[I]` (sugar for `⌷`) @@ -118,6 +118,7 @@ data; format for string templating. _Newest first._ +- 2026-05-06: Phase 3 step 1 — reshape ⍴ (cycling), transpose ⍉ (monadic+dyadic); helpers apl-strides/flat->multi/multi->flat; 27/27 structural tests; lib/apl/tests/structural.sx - 2026-04-26: Phase 2 complete — array model + 7 scalar primitive groups; 82/82 tests; lib/apl/runtime.sx + lib/apl/tests/scalar.sx - 2026-04-26: parser (Phase 1 step 2) — 44/44 parser tests green (90/90 total); right-to-left segment algorithm; derived fns, outer/inner product, dfns with guards, strand handling; `lib/apl/parser.sx` + `lib/apl/tests/parse.sx` - 2026-04-25: tokenizer (Phase 1 step 1) — 46/46 tests green; Unicode-aware starts-with? scanner for multi-byte APL glyphs; `lib/apl/tokenizer.sx` + `lib/apl/tests/parse.sx`