"The rule" is that "Semi tacit" modifiers can implicitly access members of their own locale. Explicit modifiers cannot. The reason why.
+: 1 : 'u' NB. semi tacit: processes entirely in locale and returns tacit expression (then vanishes) +: +: 1 : ' u y' NB. explicit. returns bound explicit expression that executes in some unknown locale. +: (1 : ' u y') You can also explicitly label the locales used in an explicit modifier. 1 : ' u aa_t_ y' will work from any locale. Though may not be appropriate when you make "object instances" and need to have the reference move with the instance. ________________________________ From: roger stokes <rogerstokes...@gmail.com> To: programm...@jsoftware.com Sent: Friday, March 31, 2017 4:37 AM Subject: Re: [Jprogramming] locales with adverbs and conjunctions? If you want +: a_t_ 3 to give a result of 6 then you need to write: a_t_ =: 1 : 'u aa' aa_t_ =: 1 : 'u' +: a_t_ 3 6 On Fri, Mar 31, 2017 at 5:08 AM, Xiao-Yong Jin <jinxiaoy...@gmail.com> wrote: > Does locale change only happens with verbs? > > v_t_=:3 :'vv y' > vv_t_=:3 :'+: y' > v_t_ 3 > 6 > a_t_=:1 :'u aa y' > aa_t_=:1 :'u y' > +: a_t_ 3 > |value error: aa > | u aa y > c_t_=:2 :'u cc v y' > cc_t_=:2 :'u v y' > +: c_t_ *: 3 > |value error: cc > | u cc v y > > This seems to be very inconvenient. > ---------------------------------------------------------------------- > 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