You might want to look up Ken Iverson’s 1980s era paper Dictionary APL. I 
believe Roger maintains an online version. This document clearly explains a lot 
of what you see in J.

Sent from my iPhone

> On Dec 19, 2017, at 7:22 AM, Raul Miller <[email protected]> wrote:
> 
> 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
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to