APL (codepage)
The APL code page is an EBCDIC-based code page used specifically to write programs written in the APL programming language.
Character set
Due to its origins on IBM Selectric-based teleprinters, APL symbols have traditionally been represented on the wire using a unique, non-standard character set. In the beginning, there were few terminal devices which could reproduce them—the most popular ones being the IBM 2741 and IBM 1050 fitted with a specific APL print head. Over time, with the universal use of high-quality graphic display, printing devices and Unicode support, the APL character font problem has largely been eliminated.
Most APL symbols are present in Unicode, in the Miscellaneous Technical range,[1] although some APL products may not yet feature Unicode, and some APL symbols may be unused or unavailable in a given vendor's implementation. Missing from Unicode are the traditional underscored alphabetic characters; their usage has been eliminated or deprecated in most APL implementations.
Nowadays Unicode allows APL to be stored in text files, published in print and on the web, and shared through email and instant messaging. Entering APL characters still requires the use of either a specific input method editor or keyboard mapping, or of a specific touch interface. APL keyboard mappings are available for free for the most common operating systems, or can be obtained by adding the Unicode APL symbols to existing keyboard map.
Keyboard layout
Note the mnemonics associating an APL character with a letter: ?(question mark) on Q, ⋆(power) on P, ρ(rho) on R, ⊥(base value) on B, ⊤(eNcode) on N, ∣(modulus) on M and so on. This makes it easier for an English-language speaker to type APL on a non-APL keyboard, providing one has visual feedback on one's screen. Also, decals have been produced for attachment to standard keyboards, either on the front of the keys or on the top of them.
Later IBM terminals, notably the IBM 3270 display stations, had an alternate keyboard arrangement which is the basis for some of the modern APL keyboard layouts in use today.
Additional APL characters were available by overstriking one character with another. For example, the log symbol(⍟) was formed by overstriking ⇧ Shift+P with ⇧ Shift+O. This extended the graphic capabilities of the earlier teleprinters, but made it more complicated to correct mistakes and editing program lines.
New overstrikes were introduced by vendors as they produced versions of APL tailored to specific hardware, system features, file systems, and so on. Further, printing terminals and early APL cathode-ray terminals were capable of displaying arbitrary overstrikes, but as personal computers rapidly replaced terminals as a data-entry device, APL character support was now provided as an APL Character Generator ROM or a soft character set rendered by the display device. With the advent of the modern PC, APL characters were defined in specific fonts, eliminating the distinction between overstruck characters and standard characters.
Finally, the symbols were ratified in Unicode and given specific code points, with unambiguous interpretations, independently of the graphic font.
See also
References
- ↑ "The Unicode Standard 5.1 Code Charts: Technical Symbols U+2300-U+23FF" (PDF). Unicode Standard 5.1. Unicode Consortium. Archived (PDF) from the original on 2 October 2008. Retrieved October 12, 2008.
- ↑ A more up-to-date keyboard diagram, applicable for APL2 and other modern implementations, is available at WikensOnline Union APL large keyboard layout for Windows Archived March 10, 2012, at the Wayback Machine., actual photo + diagram here Archived April 3, 2015, at the Wayback Machine. and NARS2000 APL keyboard layout here.
External links
- IBM code page 293 aka the APL code page on mainframes
- IBM code page 907 aka the APL ASCII code page