giles
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
..
2026-04-26 14:24:49 +00:00
2026-04-24 16:03:00 +00:00
2026-04-24 16:03:00 +00:00
2026-04-24 16:03:00 +00:00
2026-04-24 15:09:11 +00:00
2026-04-24 14:18:18 +00:00
2026-04-24 16:03:00 +00:00
2026-04-24 16:03:00 +00:00
2026-04-02 12:50:35 +00:00
2026-04-03 21:48:54 +00:00
2026-04-03 21:48:54 +00:00
2026-04-11 13:06:28 +00:00
2026-04-03 21:48:54 +00:00
2026-04-04 20:49:02 +00:00
2026-04-22 09:08:00 +00:00
2026-04-22 09:08:00 +00:00
2026-04-04 20:49:02 +00:00
2026-04-11 08:03:45 +00:00
2026-04-03 21:48:54 +00:00
2026-04-03 21:48:54 +00:00
2026-04-11 08:19:16 +00:00
2026-04-03 21:48:54 +00:00
2026-04-04 20:49:02 +00:00
2026-04-12 18:31:34 +00:00
2026-04-04 20:49:02 +00:00
2026-04-04 20:49:02 +00:00
2026-04-08 10:12:57 +00:00