Dan Bron wrote: > > Without taking a position on the proposed change (I haven't thought it > through yet), I will note the current behavior is consistent with the > documentation. > > Reading http://www.jsoftware.com/help/dictionary/d600n.htm we see that > m"(-r) y is defined to be m"(0>.(#$y)-r)"_ y , so Raul's observation is > justified [1], and then we see that f"n is f"(3$&.|. n) so your latter > observation is justified (a relevant example is also given) [2]. > > Put another way: > > ] n=:3$&.|. N=: _1 1 NB. Rule 1: enforce exactly 3 ranks: > mr,ldr,rdr > 1 _1 1 > > ] r=: (0>n)}n,:_ NB. Rule 2: send negatives to infinity > 1 _ 1 > > r-: f"N b.0. NB. Implementation consistent with documentation? > 1 > > -Dan > > [1] The reason negative ranks are covered with unbounded ranks is > precisely because their actual values depend on (the rank of) the inputs, > which of course can vary from invocation to invocation, and in certain > cases (like f"N b.0) aren't even present. And since "_ is a no-op (never > changes the result of a verb), it can always serve as a placeholder (this > is why it is reasonable that e.g. *:^:_1 or (* + %) have unbounded rank > when queried with b. even though they're obviously & permanently scalar). > Mnemonically, it's nice that _ even looks like a little placeholder ("Fill > in the _____"). > [...] > >
Perhaps we should distinguish among three kinds of ranks: 1) absolute/explicit ranks are non-negative ones 2) negative/relative ranks, and, 3) infinite/undefined ranks. For the first kind equation v"v === v holds, but not for the other two kinds. I don't see here any formal inconsistency because the second two kinds do not specify the actual rank of the verb v, i.e to which cells of the argument(s) v will be applied. -- View this message in context: http://old.nabble.com/Atop-u%40v-with-v-of-negative-monadic-rank-tp30177684s24193p30195087.html Sent from the J Programming mailing list archive at Nabble.com. ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
