Atomic vector: Difference between revisions
m (Text replacement - "</source>" to "</syntaxhighlight>") |
m (Added an external link to "Code Page Keyboard") |
||
Line 89: | Line 89: | ||
== External links == | == External links == | ||
=== Typing === | |||
* http://mego.github.io/CodePageKeyboard/ | |||
=== Documentation === | === Documentation === | ||
* [http://microapl.com/apl_help/ch_020_070_060.htm APLX] | * [http://microapl.com/apl_help/ch_020_070_060.htm APLX] |
Revision as of 16:34, 8 August 2023
⎕AV
|
Atomic vector (⎕AV
) is the name of a 256-character vector which contains the entire character set of older APL implementations that did not support Unicode, but instead used a single byte to store each character. Its value varies wildly between dialects, and can even differ between editions of the same dialect.
ISO/IEC 13751:2001 standard defined atomic vector as: "An implementation-defined character vector containing every member of the required character set exactly once".[1]
Value
In the following, display of the the character sets are obtained using 16 16⍴mask\(mask←32≤⎕UCS ⎕AV)/⎕AV
to replace control characters with spaces.
APL2
APL2 uses two primary values of ⎕AV
, an ASCII-based value on personal computers, and an EBCDIC-based value on mainframes. The ASCII-based value is:
!"#$%&'()*+,-./ 0123456789:;<=>? @ABCDEFGHIJKLMNO PQRSTUVWXYZ[\]^_ `abcdefghijklmno pqrstuvwxyz{|}~? ÇüéâäàåçêëèïîìÄÅ ⎕⍞⌹ôöòûù⊤ÖÜø£⊥₧⌶ áíóúñѪº¿⌈¬½∪¡⍕⍎ ░▒▓│┤⍟∆∇→╣║╗╝←⌊┐ └┴┬├─┼↑↓╚╔╩╦╠═╬≡ ⍸⍷∵⌷⍂⌻⊢⊣⋄┘┌█▄¦Ì▀ ⍺ß⊂⊃⍝⍲⍴⍱⌽⊖○∨⍳⍉∊∩ ⌿⍀≥≤≠×÷⍙∘⍵⍫⍋⍒¯¨
APLX
In order to maximise the probability of being able to represent the text when converting from Unicode to internal representation, APLX accepts as input a number of alternative Unicode values for certain characters. However, these are automatically mapped to normalised character, and any unmappable characters are replaced with a question mark.
⍐ ⍗ ⍇⍈ ⍱⍲ ⍒⍋⌽⍉⊖⍟⌶⍫⍎⍕⍀⌿⍝⍞!⌹ ¨)<≤=>]∨^≠÷,+./ 0123456789([;×:\ ¯⍺⊥∩⌊∊_∇{⍳∘'⎕|⊤○ *?⍴⌈~↓∪⍵⊃↑⊂←⊢→≥- ⋄ABCDEFGHIJKLMNO PQRSTUVWXYZ∆⊣⍪$} ┌┐└┘─│┼├┤┴┬ Í "#%&@£`≡≢⍷⍸ ⍤⍥⌷ ÄÅÇÉÑÖÜáàâäãåçéè êëíìîïñóòô⍥õúùûü ÀÃÕ Ææ⍬Øø¿¡ßÿ abcdefghijklmno pqrstuvwxyz⍙È€
Dyalog APL
⎕AV
is obsolete in Dyalog APL since the Unicode Edition was introduced and is only retained for backwards compatibility.[2] It no longer contains all the glyphs used for primitive functions and operators[3], but can be adjusted by setting the Atomic Vector - Unicode (⎕AVU
) variable to a list of Unicode code points. The default value is:
⌶ɫ%'⍺⍵ _abcdefghijklmno pqrstuvwxyz ¯.⍬ 0123456789 ⊢¥$£¢ ∆ABCDEFGHIJKLMNO PQRSTUVWXYZ ý·? ⍙ÁÂÃÇÈÊËÌÍÎÏÐÒÓÔ ÕÙÚÛÝþãìðòõ{€}⊣⌷ ¨ÀÄÅÆ⍨ÉÑÖØÜßàáâä åæçèéêëíîïñ[/⌿\⍀ <≤=≥>≠∨∧-+÷×?∊⍴~ ↑↓⍳○*⌈⌊∇∘(⊂⊃∩∪⊥⊤ |;,⍱⍲⍒⍋⍉⌽⊖⍟⌹!⍕⍎⍫ ⍪≡≢óôöø"# &´┘┐┌└ ┼─├┤┴┬│@ùúû^ü`∣¶ :⍷¿¡⋄←→⍝)] §⎕⍞⍣
GNU APL
GNU APL is fully Unicode-aware, and only includes the atomic vector for completeness:
!"#$%&'()*+,-./ 0123456789:;<=>? @ABCDEFGHIJKLMNO PQRSTUVWXYZ[\]^_ `abcdefghijklmno pqrstuvwxyz{|}~? ¥€⇄∧∼≬⋆⋸⌸⌺⌼μ⍁¡⍣⍅ ⎕⍞⌹⍆⍤⍇⍈⍊⊤λ⍍⍏£⊥⍶⌶ ⍐⍑χ≢⍖⍗⍘⍚⍛⌈⍜⍢∪⍨⍕⍎ ⍬⍪∣│┤⍟∆∇→╣║╗╝←⌊┐ └┴┬├─┼↑↓╔╚╩╦╠═╬≡ ⍸⍷∵⌷⍂⌻⊢⊣◊┘┌█▄▌▐▀ ⍺⍹⊂⊃⍝⍲⍴⍱⌽⊖○∨⍳⍉∈∩ ⌿⍀≥≤≠×÷⍙∘⍵⍫⍋⍒¯¨
External links
Typing
Documentation
References
- ↑ BS ISO/IEC 13751:2001: Information technology. Programming languages, their environments and system software interfaces. Programming language Extended APL. (2001).
- ↑ Bernard Legrand. Mastering Dyalog APL (page 525). Dyalog Ltd. November 2009.
- ↑ Adám Brudzewsky SBCS (Single Byte Character Set) Usage