What I mean by that is that locales cannot contain other locales.

   name_locale_

Contrast this with the K tree which I think allows names like this:

  .node1.node2.node3.leaf

(using the . to separate names rather than _ and working from left to right
rather than from right to left).

Of course, K sacrifices "OOP" in its focus on speed. So it might not be so
good in an educational context. But I highly respect Arthur Whitney's taste
in tradeoffs, and I think they are worth keeping in mind, especially when
offering explanations.

In J, you can have names like this_is_an_example (with embedded underlines)
and you can reference that in a locale by including a locale suffix:

   this_is_an_example_base_=: 1

or
   foo=: <'base'
   this_is_an_example__foo=: 2

But this is an error:
   foo=: <'this_is_odd'
   this_is_an_example__foo=: 3
|ill-formed name: foo

Only the last two underlines matter currently, in J, and locale names
cannot contain the '_' character. The other optional '_' characters in
names are just decoration.

Does this make sense?

Thanks,

-- 
Raul


On Sat, Mar 1, 2014 at 10:58 PM, chris burke <[email protected]> wrote:

> > ... they all exist on the same level
>
> I am not sure what you mean by this, but J has had locale paths since J4,
> for example this enables OOP, e.g. create an object from a class. See
> http://www.jsoftware.com/papers/joop.htm
>
>
> On Sat, Mar 1, 2014 at 2:22 PM, Raul Miller <[email protected]> wrote:
>
> > Directories are hierarchical - you can have a directory "inside" another
> > directory.
> >
> > There's no way of doing that with locales - they all exist on the same
> > level (though of course you can have a reference to any locale inside any
> > locale).
> >
> > Thanks,
> >
> > --
> > Raul
> >
> >
> >
> > On Sat, Mar 1, 2014 at 12:25 AM, Don Guinn <[email protected]> wrote:
> >
> > > I don't understand what you mean when you say "locals are not
> > > hierarchical". Locales are just name spaces. Locales are implicitly
> > > referenced through path (18!:2). The path determines how locales are
> > > searched to resolve a name not found in the current locale. This search
> > is
> > > hierarchical. The locales are searched in the order specified in 18!:2.
> > But
> > > each locale has its own path. In this way the hierarchy of locales
> > depends
> > > on the current locale. In this way it is easy to implement classes in
> J.
> > > But paths can be used outside of J classes in interesting ways.
> > >
> > >
> > > On Fri, Feb 28, 2014 at 8:52 PM, Steven Taylor <[email protected]>
> > wrote:
> > >
> > > > the verbname__location / verbname_location_ format places more
> emphasis
> > > on
> > > > the verb or noun inside that locale (assuming a left to right
> cultural
> > > > reading orientation).  That appears illogical because nobody else
> does
> > > > that, however it can help with readability if you can get used to it.
> > > >
> > > > It also helps if you can flatten out the locale 'tree' (although
> > locales
> > > > are not hierarchical).  I mean just symantically.
> > > >
> > > > I found the process of re-evaluating how I initially thought
> namespaces
> > > > 'should' work refreshing and overall I think locales have helped me
> > make
> > > > better namespace naming choices in other more verbose languages.
> > > >
> > > > I'd also encourage considering locales outside of a strict oo
> context.
> > > >  Try to stay away from state when possible.
> > > >
> > > > This is so obvious I am embarrassed that it took me so long to
> consider
> > > > this -- there are French and english 'locales' in Canada... And I
> > thought
> > > > this sense of the word may have been behind J's use of it.  Probably
> > > that's
> > > > obvious to everyone in north America ;-).
> > > >
> > > > If you find yourself writing
> > > > A wrapper just around a structure like this
> > > > Dictionary<string,Dictionary<string,obj>>, you'll know that locales
> > have
> > > > grown on you.  I may have done that recently
> > > > ;)
> > > >
> > > > -Steven T.
> > > >
> > > >
> ----------------------------------------------------------------------
> > > > 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
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to