Well.. the issue I remember was that axis notation specifically and bracket notation in general was inconsistent with the rest of the syntax for APL.
There were at least two ways out of this - one would be to generalize bracket notation (I think that K might have followed that path). The other would be to eliminate it (I think J followed that path). Both approaches have their advantages and disadvantages. (Generally speaking, in engineering, you're always dealing with tradeoffs.) That said, I'd put this more in the category of "common knowledge and subject of discussion" than anything else. Still... if you are looking for evidence of that ... there might be records of some of that in SIGAPL conference notes? Good luck, -- Raul On Tue, Dec 19, 2017 at 9:14 AM, Erling Hellenäs <[email protected]> wrote: > Hi all! > > IBM, APL2 Programming: Language Reference > http://publibfp.boulder.ibm.com/epubs/pdf/h2110611.pdf > > You were right in that a scalar was considered an array. > > There is a difference in that we used the AXIS notation instead of what is > Rank? See page 55. > > This means the functions did not normally act on k-cells, but along default > or specified axis? > > This is different from in J where functions act on k-cells? > > So: > > Is there any documentation of the design decision to select the n-cell array > model? > > Are there any threads in the forum where this array model is discussed? > > Maybe someone also wants to share their knowledge from internal discussions > about this design decision. > > Cheers, > > Erling Hellenäs > > > Den 2017-12-19 kl. 14:28, skrev Raul Miller: >> >> I'm not completely sure what you are getting at here, actually. >> >> When I was learning APL, I was taught that a scalar was a rank zero >> array. And it seems to me that J uses the same design. >> >> If you look at J's 3!:1 and 3!:2 foreigns (or you can use 3!:3 instead >> of 3!:1 if you prefer), you'll see that J uses the same data structure >> for arrays regardless of rank (There's size differences, of course, in >> the dimension and the data). If you are working in a strongly typed >> environment, you'll probably want to be using a dependent type system. >> >> That said, APL2 did pull some shenanigans with rank zero arrays and >> infinity. J follows the Sharp APL design instead of the APL2 design, >> if that is what you were asking about. >> >> I hope this helps, >> > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
