On Sat, Apr 26, 2014 at 7:15 AM, Joe Bogner <joebog...@gmail.com> wrote: > > It's easy to see the differences: > > FName_eq NB. v@u # ] > FName@= # ] > FName_eq2 NB. (v u) # ] > (FName =) # ] > FName_eq3 NB. (u v ]) # ] > (= FName ]) # ] > FName_eq4 NB. (u v) # ] --> correct > (= FName) # ] > > Where FName_eq4 is the only one I could get to work.
It is indeed easy to see the differences. But to see which one is correct we need a test case. Thinking this through, you want a dyadic case with data on the left and table on the right. (And if I remember my thinking correctly, I believe I pretty much always had this idea in mind.) You also want the verb which selects from the table on the left and the verb which compares extracted table code with the data on the right. (But if I remember my thinking correctly, I was assuming the reverse.) Finally, for some reason I was assuming "monadic context" when I wrote the version of sel which uses @ Anyways, I typically carry a lot of assumptions with me - these tend to be "socially necessary". Test cases are a useful way of circumventing incorrect assumptions. (Another approach is to keep talking things out. Both are useful, and both can go wrong - sometimes both at the same time.) Thanks, -- Raul ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm