Ok, yes - rank is itself a rank zero array.

Empty shape, zero rank.

Thanks,

-- 
Raul


On Tue, Dec 19, 2017 at 2:11 PM, Jimmy Gauvin <[email protected]> wrote:
> not empty rank rather o rank
>
> On Tue, Dec 19, 2017 at 2:01 PM, Raul Miller <[email protected]> wrote:
>
>> An empty tank zero array would be inconsistent.
>>
>> The number of elements in an array is the product of its dimensions, and
>> the multiplicative identity is 1, not 0.
>>
>> Thanks,
>>
>> --
>> Raul
>>
>> On Tuesday, December 19, 2017, Jimmy Gauvin <[email protected]>
>> wrote:
>>
>> > Hi,
>> >
>> > Thinking about nothing, specifically about the empty scalar or empty
>> > 0-cell.
>> >
>> > Erling H. -  " I experience an inconsistency in this model in the sense
>> > that an array of rank greater than zero can be empty, a 0-cell can not."
>> >
>> > The internal structure of a J array could support a rank 0 empty object.
>> > However, short of poking into memory, there does not seem to be a way of
>> > generating an empty scalar.
>> >
>> > ┌───────┬─┬───────┬─┬─┬─────┬───┐
>> > │data   │ │type   │n│r│shape│val│
>> > ├───────┼─┼───────┼─┼─┼─────┼───┤
>> > │8      │ │integer│1│0│     │8  │
>> > ├───────┼─┼───────┼─┼─┼─────┼───┤
>> > │8 9    │ │integer│2│1│2    │8 9│
>> > ├───────┼─┼───────┼─┼─┼─────┼───┤
>> > │''     │ │literal│0│1│0    │   │
>> > ├───────┼─┼───────┼─┼─┼─────┼───┤
>> > │0$0    │ │boolean│0│1│0    │   │
>> > ├───────┼─┼───────┼─┼─┼─────┼───┤
>> > │0$8    │ │integer│0│1│0    │   │
>> > ├───────┼─┼───────┼─┼─┼─────┼───┤
>> > │0 0 0$8│ │integer│0│3│0 0 0│   │
>> > ├───────┼─┼───────┼─┼─┼─────┼───┤
>> > │(0$0)$8│ │integer│1│0│     │8  │
>> > └───────┴─┴───────┴─┴─┴─────┴───┘
>> >  n = number of values
>> >  r = rank
>> >
>> > NB. Trying to get n=0 and r=0
>> >
>> >    (0$0) $ (0$0)
>> > |length error
>> > |   (0$0)    $(0$0)
>> >    (0$0) $ ''
>> > |length error
>> > |   (0$0)    $''
>> >
>> >
>> >
>> >
>> >
>> > On Tue, Dec 19, 2017 at 4:28 AM, Erling Hellenäs <
>> [email protected]
>> > >
>> > wrote:
>> >
>> > > Hi all !
>> > >
>> > > In APL we had the same array model as in Fortran. An array was an array
>> > > and you indexed it like in most other languages, except that you could
>> > use
>> > > an array as index and therefore could get very varying results. The
>> only
>> > > problems I personally experienced with this model was that you could
>> not
>> > > put all the indexes in one variable. I also wanted to have the index to
>> > the
>> > > left. To keep the right-to-left normal flow of the language. I wrote
>> > > special indexing functions to handle this, but never used them in
>> > > production.
>> > >
>> > > In J we have the n-cell array model. A difference is that a scalar is
>> > just
>> > > another array, it just is imagined as having zero dimensions. I APL
>> there
>> > > were scalars and there were arrays, basically two different data
>> > > structures. I experience an inconsistency in this model in the sense
>> that
>> > > an array of rank greater than zero can be empty, a 0-cell can not. At
>> > least
>> > > in the interpreter I wrote, there is a lot of special handling of
>> 0-cells
>> > > because they actually have content, although there are no array
>> > dimensions
>> > > which could reasonably contain any such content.
>> > >
>> > > In the dyadic rank operator a k-cell without any zero dimension can be
>> > > empty because a containing array is. This causes the very particular
>> > > special handling I mentioned in the thread "[Jprogramming] i. (2 2 $ 1
>> 2
>> > 3
>> > > 4)"
>> > >
>> > > Simplicity is important for performance, it is important for our
>> ability
>> > > to predict the behaviour of the code without testing it in the terminal
>> > and
>> > > to limit the number of test cases needed to verify the functonality of
>> a
>> > > program.
>> > >
>> > > 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
>> > >
>> > > ----------------------------------------------------------------------
>> > > 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
>>
> ----------------------------------------------------------------------
> 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