The rank of i. is not zero, but it's difficult to see how a variant on i: could use that approach.
If you get to messing with padding, you might also want to be messing with left/center/right alignment. That's all I can think of right now. -- Raul On Tue, Jan 3, 2017 at 4:40 PM, robert therriault <[email protected]> wrote: > I was looking at the ranks of primitives and was wondering if there was a > particular justification for the rank of monadic i: (Steps) being 0. In fact, > I began this by looking at monadic #: (Antibase 2) and wondering why its rank > was _ . Both verbs seem to act on their arguments in similar ways, creating > a vector from a single atom input. > > #: b. 0 NB. monadic - left dyadic - right dyadic ranks > _ 1 0 > i: b. 0 > 0 _ _ > > #: 9 > 1 0 0 1 > i: 9 > _9 _8 _7 _6 _5 _4 _3 _2 _1 0 1 2 3 4 5 6 7 8 9 > > > It is only when you look at how they operate in higher dimensions that you > see the differences in the way padding is applied to results of different > lengths. > > #: 1 2 4 8 > 0 0 0 1 > 0 0 1 0 > 0 1 0 0 > 1 0 0 0 > i: 1 2 4 8 > _1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 > _2 _1 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 > _4 _3 _2 _1 0 1 2 3 4 0 0 0 0 0 0 0 0 > _8 _7 _6 _5 _4 _3 _2 _1 0 1 2 3 4 5 6 7 8 > > The use of _ as the rank of monadic #: allows the result to know about its > neighbours and padding can be done in such a way as to retain the positional > meaning. Overriding to rank 0 provides an opportunity for a different result. > > #:"_ [ 1 2 4 8 > 0 0 0 1 > 0 0 1 0 > 0 1 0 0 > 1 0 0 0 > #:"0 [ 1 2 4 8 > 1 0 0 0 > 1 0 0 0 > 1 0 0 0 > 1 0 0 0 > > Using 0 as the rank of monadic i: takes away the ability to change the > padding because overriding to a rank of _ does not change the positioning. > > i:"0 [ 1 2 4 8 > _1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 > _2 _1 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 > _4 _3 _2 _1 0 1 2 3 4 0 0 0 0 0 0 0 0 > _8 _7 _6 _5 _4 _3 _2 _1 0 1 2 3 4 5 6 7 8 > i:"_ [ 1 2 4 8 > _1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 > _2 _1 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 > _4 _3 _2 _1 0 1 2 3 4 0 0 0 0 0 0 0 0 > _8 _7 _6 _5 _4 _3 _2 _1 0 1 2 3 4 5 6 7 8 > > > Changing the rank of monadic i: would not be a priority for me, as it may > break existing scripts and I don't see a large gain except for consistency, > but are there other reasons for this that I may have missed? Also my > anthropomorphized view of how the verbs work may be flawed and I would > welcome corrections to my understanding. > > Cheers, bob > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
