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).
Monadic/dyadic case for single glyph works nice only when you have a default value associated with it. For example `√16` is actually `2√16`. Or `log 100` is `10 log 100`. And `-3` is `0-3`.
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).
reply