All J interfaces with the environment are provided by the conjunction!: (foreign). In most cases the foreign result is a verb that provides a specific service. The left argument of foreign selects a general family of services and the right argument selects a specific service from that family. The families of services selected by the left argument are:
0 | Scripts |
1 | Files |
2 | Host Commands |
3 | Storage Types |
4 | Name Classes and Lists |
5 | Representations |
6 | Time |
7 | Space |
9 | Global Parameters |
11 | Windows |
13 | Debug |
15 | Dynamic Link Library |
18 | Locales |
128 | Numerical Functions |
The foreign conjunction is documented in the J Dictionary and in the J Online Documentation.
You have run across a few specific uses of the foreign conjunction in earlier sections.
The derived verb 9!:11 was used in the Print precision section. The 9 selects the Global Parameters family and the 11 gives a derived verb that sets the print precision.
The load verb uses 0!:0 to load scripts. The left argument selects the scripts family. Look up the definition. The 0 right argument is treated as three decimal digits 000 and therefore executes sentences from a file, stops on an error, and is silent (does not display sentences or results).