System Functions Categorised
The following tables list the system functions divided into appropriate categories.
Settings Affecting Behaviour of Primitive Functions
Name | Description |
⎕CT | Comparison Tolerance |
⎕DCT | Decimal Comp Tolerance |
⎕DIV | Division Method |
⎕FR | Floating-Point Representation |
⎕IO | Index Origin |
⎕ML | Migration Level |
⎕PP | Print Precision |
⎕RL | Random Link |
The following table describes the dependencies that exist between functions, operators and these system variables.
Table 1: Implicit Arguments System Variable | Monadic Functions | Dyadic Functions | Operators |
⎕CT, ⎕DCT | ⌈ ⌊ ∪ | ~ < ≤ = ≥ > ≠ ≡ ≢ ⍳ ∊ ∪ ∩ ⍷ | ∨ ∧ | ⌸ |
⎕DIV | ÷ | ÷ | |
⎕FR ⍝ 1 | ÷ * ⍟ ! ○ ⌹ | + - × ÷ * ⍟ | ! ○ ∨ ∧ ⊥ ⊤ ⌹ | |
⎕FR ⍝ 2 | ⌈ ⌊ ∪ | ~ < ≤ = ≥ > ≠ ≡ ≢ ⍳ ∊ ∪ ∩ ⍷ | ⌸ |
⎕FR ⍝ 3 | ⍒ ⍋ | ⌈ ⌊ ⍒ ⍋ ⍸ | |
⎕IO | ⍳ ? ⍒ ⍋ ⍸ | ⍳ ? ⍒ ⍋ ⍉ ⊃ ⌷ ⍸ | ⌸ @ [] |
⎕ML | ∊ ↑ ⊃ ≡ | | |
⎕PP | ⍕ | | |
⎕RL | ? | ? | |
where, for ⎕FR
, 1
indicates functions that compute real numbers and whose precision depends on ⎕FR
, 2
indicates functions that perform tolerant comparisons and 3
indicates functions that perform tolerant comparisons.
Note
Tolerant comparisons depend on ⎕FR
to select which of ⎕CT
and ⎕DCT
is used; ⎕FR
also determines the precision of the comparison computation that can affect results. However, even primitives involving intolerant comparison (including the tolerant ones with all comparison tolerances set to 0) can depend on ⎕FR
if the argument contains DECFs. This is because DECFs must be converted to doubles for comparison. If two DECFs are different but correspond to the same double, then they will be treated as intolerantly unequal when ⎕FR
is 1287
but equal when it is 645
.
Name | Description |
⎕AI | Account Information |
⎕AN | Account Name |
⎕CLEAR | Clear workspace (WS) |
⎕CY | Copy objects into active WS |
⎕DL | Delay execution |
⎕LOAD | Load a saved WS |
⎕OFF | End the session |
⎕PATH | Search Path |
⎕SAVE | Save the active WS |
⎕TS | Timestamp |
System Constants
Name | Description |
⎕A | Alphabetic upper case characters |
⎕D | Digits |
⎕NULL | Null Item |
Name | Description |
⎕C | Case Convert |
⎕CMD | Execute the Windows Command Processor or another program |
⎕CMD | Start a Windows AP |
⎕CSV | Comma Separated Values |
⎕DR | Data Representation (Monadic) |
⎕DR | Data Representation (Dyadic) |
⎕DT | Datetime |
⎕FMT | Resolve display |
⎕FMT | Format array |
⎕JSON | JSON Convert |
⎕MAP | Map a file |
⎕NA | Declare a DLL function |
⎕R | Replace |
⎕S | Search |
⎕SH | Execute a UNIX command or another program |
⎕SH | Start a UNIX AP |
⎕SHELL | Execute a shell command or another program |
⎕UCS | Unicode Convert |
⎕USING | Microsoft .NET Search Path |
⎕VFI | Verify and Fix numeric |
⎕XML | XML Convert |
Manipulating Functions and Operators
Name | Description |
⎕AT | Object Attributes |
⎕CR | Canonical Representation |
⎕ED | Edit one or more objects |
⎕EX | Expunge objects |
⎕FX | Fix definition |
⎕LOCK | Lock a function |
⎕MONITOR | Monitor set |
⎕MONITOR | Monitor query |
⎕OR | Object Representation |
⎕NR | Nested Representation |
⎕PROFILE | Profile Application |
⎕REFS | Local References |
⎕STOP | Set Stop vector |
⎕STOP | Query Stop vector |
⎕TRACE | Set Trace vector |
⎕TRACE | Query Trace vector |
⎕VR | Vector Representation |
Namespaces and Objects
Name | Description |
⎕ | Evaluated Input/Output |
⍞ | Character Input/Output |
⎕ARBIN | Arbitrary Input |
⎕ARBOUT | Arbitrary Output |
⎕RTL | Response Time Limit |
Component Files
Native Files
Threads
Synchronisation
Error Handling
Name | Description |
⎕DM | Diagnostic Message |
⎕DMX | Extended Diagnostic Message |
⎕EM | Event Messages |
⎕EN | Event Number |
⎕EXCEPTION | Reports the most recent Microsoft .NET Exception |
⎕SIGNAL | Signal event |
⎕TRAP | Event Trap |
Name | Description |
⎕LC | Line Count |
⎕LX | Latent Expression |
⎕NC | Name Classification |
⎕NL | Name List |
⎕NSI | Namespace Indicator |
⎕RSI | Space Indicator |
⎕SI | State Indicator |
⎕SHADOW | Shadow names |
⎕SIZE | Size of objects |
⎕STACK | Report Stack |
⎕STATE | Return State of an object |
⎕VGET | Value Get |
⎕VSET | Value Set |
⎕WA | Workspace Available |
⎕WSID | Workspace Identification |
⎕XSI | Extended State Indicator |
Shared Variables
Name | Description |
⎕SVC | Set access Control |
⎕SVC | Query access Control |
⎕SVO | Shared Variable Offer |
⎕SVO | Query degree of coupling |
⎕SVQ | Shared Variable Query |
⎕SVR | Retract offer |
⎕SVS | Query Shared Variable State |
Name | Description |
⎕DQ | Await and process events |
⎕EXPORT | Export objects |
⎕NQ | Place an event on the Queue |
⎕WC | Create GUI object |
⎕WG | Get GUI object properties |
⎕WN | Query GUI object Names |
⎕WS | Set GUI object properties |
⎕WX | Expose GUI property names |
Miscellaneous
Name | Description |
⎕Ⓐ | Underscored Alphabetic Characters |
⎕AV | Atomic Vector |
⎕AVU | Atomic Vector - Unicode |
⎕KL | Key Labels |
⎕PFKEY | Programmable Function Keys |
⎕SD | Screen Dimensions |
⎕SM | Screen Map |
⎕SR | Screen Read |
⎕OPT | Variant Operator |
⎕TC | Terminal Control |
⎕XT | Associate External variable |
⎕XT | Query External variable |
System Variables
System variables retain information used by the system in some way. Many system variables affect the behaviour of primitive functions and operators to which they act as implicit arguments.
System variables can be localised by inclusion in the header line of a defined function or in the argument list of the system function ⎕SHADOW
. When a system variable is localised, it retains its previous value until it is assigned a new one. This feature is known as "pass-through localisation". The exception to this rule is ⎕TRAP
.
A system variable can never be undefined. Default values are assigned to all system variables in a clear workspace.
Name | Description | Scope |
⎕AVU | Atomic Vector – Unicode | Namespace |
⎕CT | Comparison Tolerance | Namespace |
⎕DCT | Decimal Comp Tolerance | Namespace |
⎕DIV | Division Method | Namespace |
⎕FR | Floating-Point Representation | Namespace |
⎕IO | Index Origin | Namespace |
⎕LX | Latent Expression | Workspace |
⎕ML | Migration Level | Namespace |
⎕PATH | Search Path | Session |
⎕PP | Print Precision | Namespace |
⎕PW | Print Width | Session |
⎕RL | Random Link | Namespace |
⎕RTL | Response Time Limit | Namespace |
⎕SM | Screen Map | Workspace |
⎕TNAME | Thread Name | Workspace |
⎕TRAP | Event Trap | Workspace |
⎕USING | Microsoft .NET Search Path | Namespace |
⎕WSID | Workspace ID | Workspace |
⎕WX | Window Expose | Namespace |
In other words, ⎕PATH
and ⎕PW
relate to the session. ⎕LX
, ⎕SM
, ⎕TRAP
, and ⎕WSID
relate to the active workspace. All the other system variables relate to the current namespace.
Note that the value assigned to a system variable must be appropriate, otherwise an error will be reported immediately.
Example
⎕IO←3
DOMAIN ERROR
⎕IO←3
^