FIXAPL is an interesting spin on APL without overloading on arity.
Many array languages overload glyphs on arity so they basically behave depending on if you call them with 1 argument (in "monadic form") vs 2 arguments ("dyadic form")
monadic: G A1
dyadic: A1 G A2
where G is the glyph and AN are arguments
The overloading can lead to confusion (but is also interesting in its own way because you can reduce the number of glyphs in the language surface).
That overloading is I would say also one of the reasons array languages might not be as approachable and one aspect of the 'difficult to read' argument.
Maybe even more important: avoiding overloading on arity helps with composition (I still have to dig into this deeper).
FIXAPL is an interesting spin on APL without overloading on arity.
Many array languages overload glyphs on arity so they basically behave depending on if you call them with 1 argument (in "monadic form") vs 2 arguments ("dyadic form")
monadic: G A1
dyadic: A1 G A2
where G is the glyph and AN are arguments
The overloading can lead to confusion (but is also interesting in its own way because you can reduce the number of glyphs in the language surface).
That overloading is I would say also one of the reasons array languages might not be as approachable and one aspect of the 'difficult to read' argument.
Maybe even more important: avoiding overloading on arity helps with composition (I still have to dig into this deeper).
How does typescript perform on arrays compared with BQN for example whose reference CBQN implementation extensively uses AVX / Neon?