I've heard similar puzzlement before, from an APLer, over this apparent violation of strict right-to-left evaluation but I think it's no different from the APL case where I evaluate something like "+/nums" - I can't strictly evaluate from right to left by simply considering first "nums", then "/": I have to suspend my evaluation until I resolve the function "+" being used with the operator "/". This is no different from J. J just has more "operators".
On Wed, Feb 1, 2012 at 9:13 AM, Dan Bron <j...@bron.us> wrote: > I asked: > > Why should we avoid @ ? > > Linda responded: > > It encourages and fosters thinking > > from applying functions from left to > > right. > > Raul followed-up: > > *: -: 8 > > *:@-: 8 > > I am not seeing a big left-to-right vs. right-to-left difference, here. > > I'm with Raul. My sense is the aversion to @ is a holdover from APL; > surely reading left-to-right and hitting a [: is no less disruptive than a > @ . In fact, given that [: is meaningless by design, and it also requires > you understand verb train rules, which are not left-to-right, it is likely > more disruptive to the experience. > > I think I'll hang on to @ . > > Raul wrote: > > have to understand rank before you can > > fully understand how @ works. > > Yes, but you could always use @: to avoid the question. In my view, a > larger obstacle someone transitioning to @ from [: is the difference > between e.g. [: *: +/ and *:@:+/ (which isn't a question of rank, but of > precedence and associativity, which is related to Linda's concern). > > -Dan > > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > -- Devon McCormick, CFA ^me^ at acm. org is my preferred e-mail ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm