c04f38a1ba
apl: multi-axis bracket A[I;J] / A[I;] / A[;J] (+8 tests, 475/475)
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 50s
Parser: split-bracket-content splits inner tokens on :semi at
depth 0; maybe-bracket emits (:bracket arr axis-exprs...) for
multi-axis access, with :all marker for empty axes.
Runtime: apl-bracket-multi enumerates index combinations via
apl-cartesian (helper) and produces sub-array. Scalar axes
collapse from result shape; vector / nil axes contribute their
length.
apl-run "M ← (3 3) ⍴ ⍳9 ⋄ M[2;2]" → 5
apl-run "M ← (3 3) ⍴ ⍳9 ⋄ M[1;]" → 1 2 3
apl-run "M ← (3 3) ⍴ ⍳9 ⋄ M[;2]" → 2 5 8
apl-run "M ← (2 3) ⍴ ⍳6 ⋄ M[1 2;1 2]" → 2x2 sub-block
2026-05-07 17:56:24 +00:00
0dd2fa3058
apl: :Trap exception machinery — Phase 7 complete (+5 tests, 450/450)
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 1m8s
apl-throw raises a tagged ("apl-error" code msg) error.
apl-trap-matches? checks if codes list contains the error's code
(0 = catch-all, à la Dyalog).
Eval-stmt :trap clause wraps try-block with R7RS guard;
on match, runs catch-block; on mismatch, re-raises.
Bonus :throw AST node for testing.
test.sh + conformance.sh now load lib/r7rs.sx (for guard) and
include eval-ops + pipeline suites in scoreboard.
All Phase 7 unchecked items are now ticked.
Final scoreboard: 450/450 across 10 suites.
2026-05-07 14:53:22 +00:00
3e77dd4ded
apl: ⎕ system functions + drive corpus to 100+ (+13 tests, 328/328)
Test, Build, and Deploy / test-build-deploy (push) Failing after 51s
2026-05-07 06:56:20 +00:00
0f13052900
apl: quicksort recursive partition — Phase 6 classics complete (+9 tests, 315/315)
Test, Build, and Deploy / test-build-deploy (push) Failing after 1m0s
2026-05-07 06:23:03 +00:00
e37167a58e
apl: n-queens via permute + diagonal filter, q(8)=92 (+10 tests, 306/306)
Test, Build, and Deploy / test-build-deploy (push) Failing after 1m5s
2026-05-07 05:46:54 +00:00
49eb22243a
apl: mandelbrot real-axis batched z=z²+c (+9 tests, 296/296)
Test, Build, and Deploy / test-build-deploy (push) Failing after 1m5s
2026-05-07 05:07:25 +00:00
20a61de693
apl: life Conway via 9-shift toroidal sum (+7 tests, 287/287)
Test, Build, and Deploy / test-build-deploy (push) Failing after 1m8s
2026-05-07 04:36:49 +00:00
ed0853f4a0
apl: primes sieve (2=+⌿0=A∘.|A)/A←⍳N + apl-compress (+11 tests, 280/280)
Test, Build, and Deploy / test-build-deploy (push) Failing after 1m6s
2026-05-07 04:07:09 +00:00
4c71c5a75e
apl: at @ replace+apply (+10 tests, 211/211)
Test, Build, and Deploy / test-build-deploy (push) Has been cancelled
2026-05-07 00:27:40 +00:00
9eecbde61e
apl: rank f⍤k cell decomposition (+10 tests, 201/201)
Test, Build, and Deploy / test-build-deploy (push) Failing after 1m0s
2026-05-07 00:00:14 +00:00
4dbd3a0b34
apl: power f⍣n + fixed-point f⍣≡ (+9 tests, 191/191)
Test, Build, and Deploy / test-build-deploy (push) Failing after 56s
2026-05-06 23:32:26 +00:00
3d2bdc52b5
apl: compose f∘g (+9 tests, 182/182)
Test, Build, and Deploy / test-build-deploy (push) Failing after 46s
2026-05-06 23:03:14 +00:00
d570da1dea
apl: commute f⍨ (+10 tests, 173/173)
Test, Build, and Deploy / test-build-deploy (push) Failing after 50s
2026-05-06 22:36:11 +00:00
d67e04a9ad
apl: inner product f.g (+12 tests, 163/163)
Test, Build, and Deploy / test-build-deploy (push) Failing after 58s
2026-05-06 22:09:13 +00:00
4332b4032f
apl: outer product ∘.f (+12 tests, 151/151)
Test, Build, and Deploy / test-build-deploy (push) Failing after 53s
2026-05-06 21:41:15 +00:00
3489c9f131
apl: each f¨ monadic + dyadic (+14 tests, 139/139)
Test, Build, and Deploy / test-build-deploy (push) Failing after 51s
2026-05-06 21:14:49 +00:00
c56f400403
apl: scan f\ + f⍀ (+15 tests, 125/125)
Test, Build, and Deploy / test-build-deploy (push) Failing after 53s
2026-05-06 20:46:16 +00:00
c5ceb9c718
apl: reduce f/ and f⌿ (last+first axis); 110/110 tests
...
Test, Build, and Deploy / test-build-deploy (push) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 19:39:11 +00:00
ce72070d2a
apl: membership ∊, dyadic ⍳, without ~ (dyadic); 94/94 tests
...
Test, Build, and Deploy / test-build-deploy (push) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 19:24:46 +00:00
e06e3ad014
apl: enclose ⊂ / disclose ⊃; 82/82 tests
...
Test, Build, and Deploy / test-build-deploy (push) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 19:17:30 +00:00
7dfa092ed2
apl: Phase 3 grade-up ⍋ / grade-down ⍒ — 74/74 tests green
...
Test, Build, and Deploy / test-build-deploy (push) Has been cancelled
Add apl-grade (stable insertion sort helper), apl-grade-up, apl-grade-down.
Stability guaranteed via secondary sort key (original index). 8 new tests.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 19:02:49 +00:00
e11fbd6140
apl: Phase 3 squad ⌷ indexing — 66/66 tests green
...
Test, Build, and Deploy / test-build-deploy (push) Has been cancelled
Add apl-squad: scalar index into vector, fully-specified multi-dim index,
partial index returning sub-array slice. 7 new tests.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 18:57:07 +00:00
71ad7d2d24
apl: Phase 3 catenate , and first-axis — 59/59 tests green
...
Test, Build, and Deploy / test-build-deploy (push) Has been cancelled
Add apl-catenate (dyadic ,, last-axis join, scalar promotion) and
apl-catenate-first (first-axis join, row-major append). 9 new tests.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 18:51:32 +00:00
3c83985841
apl: Phase 3 take ↑ / drop ↓ / rotate ⌽⊖ — 50/50 tests green
...
Test, Build, and Deploy / test-build-deploy (push) Has been cancelled
Add apl-take (dyadic ↑, multi-axis, cycling pad), apl-drop (dyadic ↓),
apl-reverse (monadic ⌽), apl-rotate (dyadic ⌽, last axis),
apl-reverse-first (monadic ⊖), apl-rotate-first (dyadic ⊖, first axis),
apl-safe-mod helper for negative rotation arithmetic.
23 new tests in lib/apl/tests/structural.sx.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 18:45:12 +00:00
be26f77410
apl: Phase 3 reshape ⍴ / transpose ⍉ — 27/27 structural tests green
...
Test, Build, and Deploy / test-build-deploy (push) Has been cancelled
Add apl-reshape (dyadic ⍴, cycling), apl-transpose (monadic ⍉, reverse
axes), apl-transpose-dyadic (dyadic ⍉, permutation), plus helpers
apl-strides / apl-flat->multi / apl-multi->flat.
lib/apl/tests/structural.sx: 27 new tests covering ravel, reshape,
monadic/dyadic transpose across scalar/vector/matrix/3-D cases.
test.sh now runs structural.sx via its own inline framework (skips
stale tests/runtime.sx which targeted a pre-Phase-2 list-based API).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 18:36:43 +00:00
4f4b735958
apl: array model + scalar primitives Phase 2 (+82 tests)
...
Implement lib/apl/runtime.sx — APL array model and scalar primitive library:
- make-array/apl-scalar/apl-vector/enclose/disclose constructors
- array-rank/scalar?/array-ref accessors; apl-io=1 (⎕IO default)
- broadcast-monadic/broadcast-dyadic engine (scalar↔scalar, scalar↔array, array↔array)
- Arithmetic: + - × ÷ ⌈ ⌊ * ⍟ | ! ○ (all monadic+dyadic per APL convention)
- Comparison: < ≤ = ≥ > ≠ (return 0/1)
- Logical: ~ ∧ ∨ ⍱ ⍲
- Shape: ⍴ (apl-shape), , (apl-ravel), ≢ (apl-tally), ≡ (apl-depth)
- ⍳ (apl-iota) with ⎕IO=1 — vector 1..n
82 tests in lib/apl/tests/scalar.sx covering all primitive groups;
includes lists-eq helper for ListRef-aware comparison.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-26 14:24:49 +00:00