z locale | Next Previous Main |
|
The z locale is the parent locale of all other locales. If a name is not found in the current locale, and there is a definition for it in the z locale, then that definition is used as if it were in the current locale. The z locale is for common utilities that you want to be available everywhere. From the z locale, they are available for execution in any locale as if they were in that locale, yet there is only a single copy, and the names in the z locale don't clutter up the names in the other locales. The profile.ijs that runs when you start J defines many standard utilities in the z locale. You have used both the erase and the names verbs which are defined in the z locale. You can tell this by the following: names 3 NB. verbs in the base locale ... The above does not list names as a name, yet you are able to execute it. This is because when it is not found in the base locale, its definition from the z locale is used as if it were in fact defined in the base locale. names_z_ 3 NB. verbs in z locale ... The result is too long to list here. The verb names has a dyadic definition that takes a left argument which indicates the first letter of names to return. 'n' names_z_ 3 nameclass namelist names nc nl names is defined in the z locale and that is the definition that is executed. Next Previous Main |
|