One thing I would like to see is a syntax colourer that puts boxes around operators and their operands. Maybe not as far as this but in that direction.
@nathanrogers What picture? Can you show me an example of how it improves APL?
@nathanrogers it's not losing universality completely, it's trading a bit for a whole new way to write short functions in the cases where it makes sense. And you decide when it makes sense.
they represent potential values. in trains, those potential values don't exist. where the values belong and in what order is not inferrable without INCREASING THE MENTAL LOAD
which as quoted a few times in this converation thus far flies in the face of APLs design philosophy
> By relieving the brain of all unnecessary work, a good notation sets it free to concentrate on more advanced problems, and in effect increases the mental power of the race.
read this phrase "The horse ran past the barn fell."
A garden-path sentence is a grammatically correct sentence that starts in such a way that a reader's most likely interpretation will be incorrect; the reader is lured into a parse that turns out to be a dead end or yields a clearly unintended meaning. "Garden path" refers to the saying "to be led down [or up] the garden path", meaning to be deceived, tricked, or seduced.
Such a sentence leads the reader toward a seemingly familiar meaning that is actually not the one intended. It is a special type of sentence that creates a momentarily ambiguous interpretation because it contains a word or phrase...
I'm not negating the value of f g h. I'm arguing fervently about the f g h i j k l alkjasd foaih giowrbunoeurghlakiwehflaiuhryf that it eventaully leads to
and it flies against the consistency of the notation, leading to further cognative load, along with the Garden Path sentence syndrom I spoke aobut earlier
The old man the boat.
The complex houses married and single soldiers and their families.
@nathanrogers That's not even true. For years, Iverson struggled to find a neat way to express what in conventional mathematics is written f+g. He experimented with letting every scalar function have a companion operator which combined two functions by applying the corresponding scalar function to their respective results. He added one operator per function by adding an overbar to its symbol. E.g. + had ∓ such that f∓g ⍵ was (f ⍵)+(g ⍵). Finally, on a plane, he got an amazing idea: f+g
or consider it a standalone form. + with functions as arguments means something than + with integer arguments, means something different from + with only a right argument
@nathanrogers f g h i j k is horrible. f g h isn't. Sure, there are cases when even that is unreadable, but IMO avg←+/÷≢ is way more readable than avg←{(+/⍵)÷≢⍵}.
@nathanrogers you're saying trains are horrible because they're always replaceable with dfns, ∘ and ⍨ are also always replaceable with dfns/parentheses
@Quintec it isn't frustrating, it's logically inconsistent. Bending your brain over backwards to justify nonsense leads to frustration. it says so on the box.
@nathanrogers The values don't arise from the design of the language. The language was designed according to a set of values. Iverson's specifically. Oh, and he came up with the fork notation as a generalisation (like so many other APL features) of the already existing mathematical notation f+g.
You even earlier said that 33,723,229748234,247389 is nonsense compared to 33 723 229748234 247389, while both mean the exact same thing. Why is the latter better than the former at all?
@dzaima I'm fine with that, until it leads to more than a fork, then it's nonsense. forks of forks of atops of forks are forking rediculous, and they only exist because the fork exists
because its internally consistent
because the one thing only ever means the one thing
@nathanrogers Actually, J (which was Iverson's attempt at overhauling APL to make mistakes right) started off as explicit by default (like APL) and tacit by request, but Iverson then changed the default to tacit and make explicit requestable. It doesn't seem that he ever regretted that. And that's making tacit the default!