Digital encoding of APL symbols
The APL code page is an EBCDIC-based code page used specifically to write programs written in the programming language APL.
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 1960s and 1970s, few terminal devices existed 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.
As of 2010, 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.
Further 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 abilities of the earlier teleprinters, but made it more complex to correct errors and edit 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 able to display arbitrary overstrikes, but as personal computers rapidly replaced terminals as a data-entry device, APL character support became 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 from the original (PDF) on 2 October 2008. Retrieved October 12, 2008.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ 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 a.k.a. the APL code page on mainframe computers
- IBM code page 907 a.k.a. the APL ASCII code page