Without a definition for lrA your definition for lrX can't even parse. And I, for one, have not memorized all your previous posts.
Might be fun though? Thanks, -- Raul On Wed, May 13, 2015 at 5:33 PM, 'Pascal Jasmin' via Programming <[email protected]> wrote: > an adverb that will produce a string of is verb argument bound to its x > and/or y arguments. > the string can be executed with ". timex, dissect, or any other function that > takes a linear expression as a parameter. > > lrX =: 1 : ('''('', u lrA , '') '' , lr y';':';'''('', (lr x) , '') ('' , u > lrA , '') '' , lr y') > > > (2;3;4) + each lrX < 3 4 NB. returns string. > (2;3;4) (+&.>) <3 4 > > this is convenient in that once you have a working expression, you can make a > string of it by simply placing lrX to the right of the verb phrase. While > quote at begining and end doesn't seem an afront to laziness, you don't have > to double quote strings. > > to time the expression (note dyadic use of timex), > (2;3;4) + each lrX(10×pacex@:) < 3 4 > 3.36e_6 3200 > > > or make a shorthand with your favorite timing formattings. > > tsA =: lrX((,&'/sec '@":@%@(6!:2) , ,&'MB'@":@(%&1000000)@(7!:2)@:])@:) > > (2;3;4) + each tsA < 3 4 > 240385/sec 0.0032MB > > Here is a tool that creates timings as a side effect which means that you can > time just part of an expression, or multiple parts: > > > tsfX =: 1 : 'u [ [: 1!:2&2@:timespacex u lrX' > > > 'x' ,~ tsfX each (;: 'ap b c') ,&": each tsfX (2;3;4) + each tsfX < 3 4 > 4.8e_6 3200 > 1.056e_5 5888 > 1.92e_6 2176 > 1.92e_6 2176 > 1.92e_6 2176 > ┌──────┬─────┬─────┐ > │ap5 6x│b6 7x│c7 8x│ > └──────┴─────┴─────┘ > > > timing printouts are from right to left invocations. The last one produces 3 > timings because it was placed inside the each adverb. Memory use tends to be > overstated compared to traditional timespacex if very large data inputs are > used (the data is fully linearized and then parsed). Time I believe includes > the parsing time of a noun, but not the calculation time of building that > noun. > > tsfX executes expressions twice (once by timex, and once to get result) > > lrX (dissect @:) is an adverb that can also more easily apply dissect to part > of an expression to avoid quoting and cursor movements. > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
