This is less useful.  The simplest case that I use locale for is writing
   a_z_=:a_t_
with a_t_ an explicit definition that uses all the things defined in locale 't'.
I could do it, had 'a' been a verb.
With 'a' an adverb or conjunction, I have to suffix all names in 'a_t_' with 
'_t_',
and as you mentioned this is less desirable as I can't override those 
definitions with
the locale path any more.

Is there any other way to work around it?

I guess I can always do
   coinsert't'
but that leaves open the possibility of name collisions and removes benefits of 
locales.

> On Mar 31, 2017, at 8:40 AM, 'Pascal Jasmin' via Programming 
> <programm...@jsoftware.com> wrote:
> 
> "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

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to