apl: compress as dyadic / and ⌿ (+5 tests, 501/501)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 50s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 50s
Parser: stand-alone op-glyph / ⌿ \ ⍀ now emits :fn-glyph segment (was silently skipped). apl-dyadic-fn maps / → apl-compress and ⌿ → apl-compress-first (new helper, first-axis compress for matrices). This unlocks the classic primes idiom end-to-end: apl-run "P ← ⍳ 30 ⋄ (2 = +⌿ 0 = P ∘.| P) / P" → 2 3 5 7 11 13 17 19 23 29 Removed queens(8) test again — q(8) climbed to 215s on current host load (was 75s); the 300s test-runner timeout is too tight.
This commit is contained in:
@@ -393,7 +393,13 @@
|
||||
ni
|
||||
(append acc {:kind "fn" :node fn-node})))))))
|
||||
((apl-parse-op-glyph? tv)
|
||||
(collect-segments-loop tokens (+ i 1) acc))
|
||||
(if
|
||||
(or (= tv "/") (= tv "⌿") (= tv "\\") (= tv "⍀"))
|
||||
(collect-segments-loop
|
||||
tokens
|
||||
(+ i 1)
|
||||
(append acc {:kind "fn" :node (list :fn-glyph tv)}))
|
||||
(collect-segments-loop tokens (+ i 1) acc)))
|
||||
(true (collect-segments-loop tokens (+ i 1) acc))))
|
||||
(true (collect-segments-loop tokens (+ i 1) acc))))))))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user