Digital encoding of APL symbols


The programming language APL uses a number of symbols, rather than words from natural language, to identify operations, similarly to mathematical symbols. Prior to the wide adoption of Unicode, a number of special-purpose EBCDIC and non-EBCDIC code pages were used to represent the symbols required for writing APL.

Character sets

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.

Character repertoire

IBM assigns the following character IDs to APL syntax, which are used in the definitions of its code pages.
GCGIDIBM nameUnicodeNotes and other mappings
SL010000Up Stile
SL020000Down Stile
SL030000Del
SL040000Del Tilde
SL050000Del Stile
SL060000Delta
SL070000Delta Stile
SL080000Circle This is SM750000 in a non-APL context, for example, in the C0 replacement graphics from code page 437, which code pages 907, 909 and 910 inherit some or all of, retaining SM750000 in the C0 area and also including SL080000 outside of it. Both map to U+25CB when APL is represented using Unicode characters, although SL080000 can be mapped to U+F890 in IBM's private use area scheme. Compare SL590000 through SL620000 below.
SL090000Circle Stile
SL100000Circle Slope
SL110000Circle Star
SL120000Circle Bar
SL130000Quad Quote
SL140000Quad Divide
SL150000Slash Bar
SL160000Slope Bar
SL170000Up Caret Tilde
SL180000Down Caret Tilde
SL190000Down Tack Jot
SL200000Up Tack Jot
SL210000Up Shoe Null
SL220000Up Tack
SL230000Down Tack
SL240000Down Tack Up Tack
SL250000Jot
SL260000
SL270000Quad Jot
SL280000Quad Slope
SL290000Ampersand UnderbarNot used in any documented code page. Can be represented in Unicode with the sequence &̲
SL300000Equal Underbar
SL310000OUT Symbol noneNot used in any IBM-documented code page. IBM's reference glyph resembles oblique underlined forms of the letters O, U and T overstruck in the same character position.
SL320000Diaeresis Dot
SL330000Delta Underbar
SL340000Left Tack
SL350000Right Tack
SL360000Quad
SL370000Less Greater ,
SL380000Stile ,
SL400000Up Shoe
SL410000Down Shoe
SL420000Left Shoe
SL430000Right Shoe
SL440000Underbar
SL450000Diaeresis
SL460000Tilde U+F88F in IBM's private use area scheme. Also mapped to, although SD190000 co-occurs at 0xA1 in code page 213.
SL480000Circle Plus
SL490000Circle x
SL500000Down Caret
SL510000Up Caret
SL520000Less
SL530000Greater
SL540000Divide
SL550000Times
SL560000Not Greater
SL570000Not Less
SL580000Quote Dot U+F88E in IBM's private use area scheme. SP020000 co-occurs at 0x5A in code page 293. Tachyonsoft lists for SL580000.
SL590000Left Arrow These arrows are SM300000, SM310000, SM320000 and SM330000 respectively in a non-APL context, for example, in the C0 replacement graphics from code page 437, which code pages 907, 909 and 910 inherit some or all of. Their APL GCGIDs can be mapped to U+F88D, U+F88C, U+F88B and U+F88A respectively in IBM's private use area scheme.
Code pages 907 and 910 keep the non-APL GCGIDs for the C0 replacements but use the APL GCGIDs where the arrows appear outside of the C0 area, while code page 909 uses the APL GCGIDs multiple times, both for the C0 replacements and for between one and two occurrences of each of these arrows outside of the C0 area.
Compare SL080000 above. Duplicating C0 replacement graphics outside of the C0 area is not an uncommon practice in DOS code pages: compare, for example, the pilcrow and section sign in code page 850.
SL600000Right Arrow These arrows are SM300000, SM310000, SM320000 and SM330000 respectively in a non-APL context, for example, in the C0 replacement graphics from code page 437, which code pages 907, 909 and 910 inherit some or all of. Their APL GCGIDs can be mapped to U+F88D, U+F88C, U+F88B and U+F88A respectively in IBM's private use area scheme.
Code pages 907 and 910 keep the non-APL GCGIDs for the C0 replacements but use the APL GCGIDs where the arrows appear outside of the C0 area, while code page 909 uses the APL GCGIDs multiple times, both for the C0 replacements and for between one and two occurrences of each of these arrows outside of the C0 area.
Compare SL080000 above. Duplicating C0 replacement graphics outside of the C0 area is not an uncommon practice in DOS code pages: compare, for example, the pilcrow and section sign in code page 850.
SL610000Up Arrow These arrows are SM300000, SM310000, SM320000 and SM330000 respectively in a non-APL context, for example, in the C0 replacement graphics from code page 437, which code pages 907, 909 and 910 inherit some or all of. Their APL GCGIDs can be mapped to U+F88D, U+F88C, U+F88B and U+F88A respectively in IBM's private use area scheme.
Code pages 907 and 910 keep the non-APL GCGIDs for the C0 replacements but use the APL GCGIDs where the arrows appear outside of the C0 area, while code page 909 uses the APL GCGIDs multiple times, both for the C0 replacements and for between one and two occurrences of each of these arrows outside of the C0 area.
Compare SL080000 above. Duplicating C0 replacement graphics outside of the C0 area is not an uncommon practice in DOS code pages: compare, for example, the pilcrow and section sign in code page 850.
SL620000Down Arrow These arrows are SM300000, SM310000, SM320000 and SM330000 respectively in a non-APL context, for example, in the C0 replacement graphics from code page 437, which code pages 907, 909 and 910 inherit some or all of. Their APL GCGIDs can be mapped to U+F88D, U+F88C, U+F88B and U+F88A respectively in IBM's private use area scheme.
Code pages 907 and 910 keep the non-APL GCGIDs for the C0 replacements but use the APL GCGIDs where the arrows appear outside of the C0 area, while code page 909 uses the APL GCGIDs multiple times, both for the C0 replacements and for between one and two occurrences of each of these arrows outside of the C0 area.
Compare SL080000 above. Duplicating C0 replacement graphics outside of the C0 area is not an uncommon practice in DOS code pages: compare, for example, the pilcrow and section sign in code page 850.
SL630000Overbar
SL640000Slope U+F889 in IBM's private use area scheme. Also mapped to. SM070000 co-occurs at 0x5A in code page 293.
SL650000Star
SL660000Quote
SL670000Left Parenthesis
SL680000Right Parenthesis
SL690000Bar
SL700000Query U+F888 in IBM's private use area scheme.
SL710000Alpha
SL720000Epsilon ,
SL730000Iota
SL740000Rho
SL750000Omega
SL760000Slash
SL770000Left Bracket
SL780000Right Bracket
SL790000Plus
SL800000Semicolon
SL810000Equal
SL820000Not Equal
SL830000Colon Form with fullwidth attribute set is used for 0xA1C3 in EUC-CN.
SL840000Dot
SL850000Comma
SL860000Iota Underbar
SL870000Epsilon Underbar