From 248dca5b320054696d382b7b13089dd272624bf2 Mon Sep 17 00:00:00 2001 From: giles Date: Wed, 6 May 2026 18:51:58 +0000 Subject: [PATCH] plans: tick Phase 3 catenate, 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 8c9ce635..5e84dda4 100644 --- a/plans/apl-on-sx.md +++ b/plans/apl-on-sx.md @@ -65,7 +65,7 @@ Core mapping: ### Phase 3 — structural primitives + indexing - [x] Reshape `⍴`, ravel `,`, transpose `⍉` (full + dyadic axis spec) - [x] Take `↑`, drop `↓`, rotate `⌽` (last axis), `⊖` (first axis) -- [ ] Catenate `,` (last axis) and `⍪` (first axis) +- [x] Catenate `,` (last axis) and `⍪` (first axis) - [ ] Index `⌷` (squad), bracket-indexing `A[I]` (sugar for `⌷`) - [ ] Grade-up `⍋`, grade-down `⍒` - [ ] Enclose `⊂`, disclose `⊃`, partition (subset deferred) @@ -118,6 +118,7 @@ data; format for string templating. _Newest first._ +- 2026-05-06: Phase 3 step 3 — catenate , (last axis, scalar promo) and first-axis; 59/59 tests - 2026-05-06: Phase 3 step 2 — take ↑ (multi-axis, pad), drop ↓, reverse/rotate ⌽⊖ (last+first axis); 50/50 tests - 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