z locale

From J Wiki
Jump to navigation Jump to search


<=   =>

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 ...


<=   =>

Primer Index               Hover to reveal titles   -   Click to access   -   Current page is highlighted
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
45 46 47 48
50 51 52 53 54 55 56 57
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
97 98 99 100 101 102 103 104 105 106