What ⌶ means
It gives APL access to system-related services. A numeric selector to ⌶’s left chooses a service; its other arguments provide the data. Dyalog 21.0 documents services for running an expression, serializing an array, and controlling the interpreter.
The name describes the glyph’s shape: it resembles an I-beam, a structural steel beam with flanges at top and bottom. In APL code, ⌶ is a route from array calculations to the interpreter or the larger system around it.
Why was the APL I-beam created?
It gave system programmers a route to the host computer. Kenneth Iverson began developing APL as a mathematical notation in 1957; his book A Programming Language appeared in 1962. APL/360, IBM’s System/360 version, was running inside IBM by 1966. System programmers first used the two-argument form, called dyadic, to execute machine instructions; the later one-argument form, called monadic, let other users request details such as available workspace and time of day.
Later APL dialects moved some environment tasks into system functions and variables, while I-beam calls stayed tied to particular interpreters. Dyalog 21.0 distinguishes withdrawn services from operations its interpreter does not support, so old calls can break when code is ported.
Don't confuse it with
1Questions people ask
1Will an old APL I-beam expression work everywhere?
No. Dyalog 21.0 distinguishes withdrawn service numbers from ones its interpreter does not support, and other interpreters may implement a different set. Check the target dialect before porting the call.
How to type ⌶
⌶\2336Codes and encoding1 code points
A visible symbol can contain several code points. JS .length counts UTF-16 units; UTF-8 counts bytes.
