Skip to content

Implement more operators, trains, create playground, bump to v0.3.0#5

Merged
NamesMark merged 25 commits intomainfrom
mfi/0.3.0-progress
Mar 30, 2026
Merged

Implement more operators, trains, create playground, bump to v0.3.0#5
NamesMark merged 25 commits intomainfrom
mfi/0.3.0-progress

Conversation

@NamesMark
Copy link
Copy Markdown
Owner

No description provided.

Mark Firman added 25 commits March 27, 2026 01:23
Add aplwiki_simple_examples test covering all 30 examples from
aplwiki.com/wiki/Simple_examples. 16 examples are actively tested,
14 are commented out with reasons (missing ⌿, ∈, array indexing
for reading, dyadic trains, ⎕←).

Also fixes two bugs discovered by the examples:
- Reduce now works along last axis for higher-rank arrays
  (+/ on a matrix reduces each row, not the whole array)
- 1-element arrays now broadcast like scalars in dyadic ops
  (',' ≠ 'text' now works correctly)
- Add ⌿ (reduce first axis) and ⍀ (scan first axis)
- Add ∈ (membership): A∈B returns 1 where elements of A appear in B
- Add A[i] array indexing for reading (1-based)
- Add dyadic train support: ⍺(f g h)⍵ and ⍺(f g)⍵
- Add ⊆ ⌷ ∊ to train function-reference recognition
- Allow grammar shift/reduce conflicts (error_on_conflicts false)
- Uncomment all feasible APL Wiki examples (10 newly enabled)
@NamesMark NamesMark merged commit 5c711a7 into main Mar 30, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant