Thanks for the suggestion to reread and dig into / . I reread the docs and they are clear now. The bits that stick out to me that are relevant to my problem:
"1. If the rank of u is not 0, it doesn't produce a table"[1] This seems to be a reference to "u/ y is equivalent to x u"(lu,_) y where lu is the left rank of u ."[2] in the dictionary So back to your first reply This verb has left rank of 0 which means it will result in a table (0&= @ |~) b.0 _ 0 0 Whereas this is _ meaning it won't be a table (~: *. (0&= @ |~)) b.0 _ _ _ But if we force the left rank it will return a table: (~: *. (0&= @ |~))"(0,_)~ (5,9,2,8) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 (~: *. (0&= @ |~))"0/~ (5,9,2,8) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 The only remaining question is: are all forks infinite rank? I tested with b.0 different examples and they all seem to be. I assumed the rank of a fork would be the rank of the middle tine, g. If all forks aren't rank infinite, what determines the rank of the fork? Admittedly my rank knowledge is still developing even after several years of J use [1] - http://code.jsoftware.com/wiki/Vocabulary/slash#dyadic [2] - http://www.jsoftware.com/help/dictionary/d420.htm On Sat, Dec 2, 2017 at 3:49 PM, Henry Rich <[email protected]> wrote: > Please elaborate on what confused you in that article. [May I say, if you > want to learn about x u/ y, there's much more information on the page for > that primitive rather than the page for {y ]. > > The inner verb rank of u/ DOES matter. It's crucial. Please read the > page on x u/ y and then tell me if you still think the docs need more work. > > Henry Rich > > > On 12/2/2017 3:07 PM, Joe Bogner wrote: > >> Thanks Henry & Raul - I figured it was rank but couldn't figure out why. I >> guess I assumed it would somehow use the rank of the tines. >> >> This NuVoc article is what tripped me up - >> http://code.jsoftware.com/wiki/Vocabulary/curlylf >> >> Specifically this example got me thinking that the 'inner' verb rank >> mattered, but it was just my misread of the parentheses (there is no inner >> verb!) >> >> 0 1 (<@,"0)/ 7 8 9 >> >> vs >> >> 0 1 (<@,)"0/ 7 8 9 >> >> vs >> >> 0 1 <@,"0/ 7 8 9 >> >> all are the same, but it doesn't mean that placing rank inside the verb >> for >> the / adverb matters. Sharing in case it helps someone else... >> >> Thanks again >> >> On Sat, Dec 2, 2017 at 2:39 PM, Henry Rich <[email protected]> wrote: >> >> Rank. >>> >>> (~: *. (0&= @ |~)) b. 0 >>> _ _ _ >>> (0&= @ |~) b. 0 >>> _ 0 0 >>> ~: b. 0 >>> _ 0 0 >>> >>> Henry Rich >>> >>> >>> >>> On 12/2/2017 2:34 PM, Joe Bogner wrote: >>> >>> I was working on my adventofcode solution earlier today and was stuck and >>>> still can't figure out why this doesn't work. >>>> >>>> Take this expression. >>>> >>>> (0&= @ |~)/~ 5 9 2 8 >>>> >>>> 1 0 0 0 >>>> >>>> 0 1 0 0 >>>> >>>> 0 0 1 0 >>>> >>>> 0 0 1 1 >>>> >>>> >>>> And this expression >>>> >>>> >>>> (~:)/~ 5 9 2 8 >>>> >>>> 0 1 1 1 >>>> >>>> 1 0 1 1 >>>> >>>> 1 1 0 1 >>>> >>>> 1 1 1 0 >>>> >>>> >>>> Why can't I combine it into a single fork to AND the two tines? >>>> >>>> >>>> (~: *. (0&= @ |~))/~ 5 9 2 8 >>>> >>>> 0 0 0 0 >>>> >>>> >>>> >>>> Instead I have to do this >>>> >>>> >>>> (~:/~ *. (0&= @ |~)/~) 5 9 2 8 >>>> >>>> 0 0 0 0 >>>> >>>> 0 0 0 0 >>>> >>>> 0 0 0 0 >>>> >>>> 0 0 1 0 >>>> ---------------------------------------------------------------------- >>>> For information about J forums see http://www.jsoftware.com/forums.htm >>>> >>>> >>> --- >>> This email has been checked for viruses by AVG. >>> http://www.avg.com >>> >>> ---------------------------------------------------------------------- >>> 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
