@nathanrogers Just let it all sink in. Little by little you'll come to recognise patterns and have intuitions about how to attack problems. We're all learning APL here.
OOP is probably the least intuitive of all programming paradigms, and it didn't take me so long to get the hang of it
i know what most of the operators are, but I can't read solutions because I can't understand them, and I can't write them because I don't understand how all the operators interact with all the different shapes
I still can't figure out when I need ¨ or when I don't
but also, I am here because APL is supposed to making reasoning easier. I had this exact model in mind when I started this problem, but then I spent the rest of the time it seemed struggling with how I need to format the data to get it into a workable form
follow back to the beginning of this converesation
@ngn Interesting. J uses negatives to indicate reversal along that axis, but the values are positive. K reverses and ascends negative numbers.
@ngn I guess it is more consistent with my … but maybe it would be better to have them complement each other? Also, it seems my ⍳ doesn't obey ⎕IO. Hm.
So the for array one has to use ≡ instead for scalar one has to use =... yes is how APL is build... but in general what is the problem in the use of the same symbol = because one array one can be thought as scalar if it is one element of one array too. So one array is one array and can be a scalar too...
@RosLuP Really, ≡ is the general function, and = is a special pervasive case of it. If ⍥ is the depth operator, then = is the same as ≡⍥0. Similarly, ≺ ("precedes") is the general function, and < is just ≺⍥0