1:`[`]} -- Raul
On Saturday, July 27, 2019, Roger Hui <[email protected]> wrote: > 13 : '(1) x}y' or 13 : '1 x}y' can not be made tacit because they use a > function argument (x) as an operand. Similarly 13 : '+/"y x' or 13 : '+/"x > y' can not be made tacit either. > > Why not, you might ask? The sequence for an operator is that you _first_ > derive a function, and _then_ the function is applied to function arguments > x and/or y . When you say x} or +/"x or +/"y , at that point you don't > yet have the function argument. > > > > On Fri, Jul 26, 2019 at 9:40 PM Devon McCormick <[email protected]> > wrote: > > > I am intrigued by tacit programming but agree with Henry that you should > > drink the Kool-Aid with slow, measured sips. > > > > I continue to rely heavily on "13 : .." (to the dismay of tacit > die-hards) > > but still puzzle over why certain expressions cause it to give up, e.g. > > > > 13 : '(1) x}y' > > 4 : '(1) x}y' > > > > Yet this works > > x=. 2 4 6 > > y=. i.10 > > (1) x}y > > 0 1 1 3 1 5 1 7 8 9 > > > > Whereas these do not: > > x ((1) [}]) y > > 0 1 2 3 4 5 6 7 8 9 > > x ((1)& [}]) y > > 0 6 2 3 4 5 6 7 8 9 > > > > > > On Fri, Jul 26, 2019 at 11:53 PM Henry Rich <[email protected]> > wrote: > > > > > Yes, you have to think differently. > > > > > > Please, don't make a fetish of tacit programming. The important thing > > > about becoming a J programmer is training yourself to look at the whole > > > problem rather than working with atoms. That is, getting over the loop > > > mindset. > > > > > > Problem: You have an array a and you want to apply a linear function > > > y=3x+1 to every atom. How do you do it? > > > > > > 0. (3 * a) + 1 > > > Bravo! You didn't have to loop. Full marks. > > > > > > 1. 1 + 3 * a > > > Piu bravo! You are thinking right to left. > > > > > > 2. (1 + 3&*) a > > > Bravissimo! You have written a little bit of tacit code. You could > > > also have written (1 + 3 * ]) a > > > > > > 3. 1 3 p. a > > > Congratulations, you have reached master level. Let the interpreter > > > sweat the details. > > > > > > > > > My very first J program was a model of texture processing for a > > > computer-graphics system. I imbibed the tacit liquor too deeply, and > > > wrote the whole thing as a sequence of tacit verbs, 50 of them. It > > > worked. It was absolutely unmaintainable. Don't go there. > > > > > > Use tacit verbs for problems whose spec is mathematically unchangeable. > > > For everything else, use explicit verbs. > > > > > > Henry Rich > > > > > > > > > > > > > > > > > > On 7/26/2019 7:20 PM, The3DSquare Josh Yang wrote: > > > > I was wondering if you guys have any resources for learning tacit > > > > programming in J. I've been struggling with tacit programming, > probably > > > > because all the other programming languages are mainly explicit. > > > Something > > > > like "Tacit programming for the explicit programmer" would be great > > > since I > > > > often fail to derive the tacit equivalent of a series of explicit > > > > eeaxpressions (especially when there are mutable variables). > > > > > > > > I know I need to think differently, but having some guidance would > help > > > > greatly. > > > > ------------------------------------------------------------ > ---------- > > > > For information about J forums see http://www.jsoftware.com/ > forums.htm > > > > > > > > > --- > > > This email has been checked for viruses by AVG. > > > https://www.avg.com > > > > > > ---------------------------------------------------------------------- > > > For information about J forums see http://www.jsoftware.com/forums.htm > > > > > > > > > -- > > > > Devon McCormick, CFA > > > > Quantitative Consultant > > ---------------------------------------------------------------------- > > 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
