Atomic vector: Difference between revisions

Jump to navigation Jump to search
610 bytes added ,  04:41, 7 July 2020
no edit summary
No edit summary
Line 1: Line 1:
'''Atomic vector''' (<source lang=apl inline>⎕AV</source>) contains 256 characters. This was the entire character set in some of the older interpreters that did not support [[Unicode]].
{{Built-in|Atomic vector|⎕AV}} is the name of a 256-[[character]] [[vector]] which containes 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. For example, the mainframe and personal computer editions of [[APL2]] have slightly different character sets.


In [[Dyalog APL]]:  
== Value ==
<source lang=apl>
=== Dyalog APL ===
<source lang=apl inline>⎕AV</source> is obsolete in [[Dyalog APL]] since the Unicode Edition was introduced and is only retained for backwards compatibility.<ref>Bernard Legrand. [https://www.dyalog.com/uploads/documents/MasteringDyalogAPL.pdf#page=525 Mastering Dyalog APL (page 525)]. [[Dyalog Ltd]]. November 2009.</ref> It no longer contains all the [[glyph]]s used for [[primitive function]]s and [[primitive operator|operators]] in Dyalog APL.<ref>[[Adám Brudzewsky]]. [https://github.com/abrudz/SBCS/blob/master/README.md#usage SBCS] (Single Byte Character Set) Usage.</ref> Its value can be adjusted by setting the [[Atomic Vector - Unicode]] (<source lang=apl inline>⎕AVU</source>) variable to a list of Unicode code points. The default is:
<pre>
       6 41⍴10↓⎕AV
       6 41⍴10↓⎕AV
⌶ɫ%'⍺⍵_abcdefghijklmnopqrstuvwxyz��¯.⍬012
⌶ɫ%'⍺⍵_abcdefghijklmnopqrstuvwxyz��¯.⍬012
Line 9: Line 11:
⍨ÉÑÖØÜßàáâäåæçèéêëíîïñ[/⌿\⍀<≤=≥>≠∨∧-+÷×?∊
⍨ÉÑÖØÜßàáâäåæçèéêëíîïñ[/⌿\⍀<≤=≥>≠∨∧-+÷×?∊
⍴~↑↓⍳○*⌈⌊∇∘(⊂⊃∩∪⊥⊤|;,⍱⍲⍒⍋⍉⌽⊖⍟⌹!⍕⍎⍫⍪≡≢óôöø
⍴~↑↓⍳○*⌈⌊∇∘(⊂⊃∩∪⊥⊤|;,⍱⍲⍒⍋⍉⌽⊖⍟⌹!⍕⍎⍫⍪≡≢óôöø
"#�&´┘┐┌└┼─├┤┴┬│@ùúû^ü`∣¶:⍷¿¡⋄←→⍝)]� §⎕⍞⍣
"#�&´┘┐┌└┼─├┤┴┬│@ùúû^ü`∣¶:⍷¿¡⋄←→⍝)]� §⎕⍞⍣
</source>
</pre>
 
=== GNU APL ===
In [[GNU APL]]:
In [[GNU APL]]:
<source lang=apl>
<pre>
       5 45⍴31↓⎕AV
       5 45⍴31↓⎕AV
  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK
  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK
Line 19: Line 21:
yz{|}~¥€⇄∧∼≬⋆⋸⌸⌺⌼μ⍁¡⍣⍅⎕⍞⌹⍆⍤⍇⍈⍊⊤λ⍍⍏£⊥⍶⌶⍐⍑χ≢⍖⍗
yz{|}~¥€⇄∧∼≬⋆⋸⌸⌺⌼μ⍁¡⍣⍅⎕⍞⌹⍆⍤⍇⍈⍊⊤λ⍍⍏£⊥⍶⌶⍐⍑χ≢⍖⍗
⍘⍚⍛⌈⍜⍢∪⍨⍕⍎⍬⍪∣│┤⍟∆∇→╣║╗╝←⌊┐└┴┬├─┼↑↓╔╚╩╦╠═╬≡⍸⍷∵
⍘⍚⍛⌈⍜⍢∪⍨⍕⍎⍬⍪∣│┤⍟∆∇→╣║╗╝←⌊┐└┴┬├─┼↑↓╔╚╩╦╠═╬≡⍸⍷∵
⌷⍂⌻⊢⊣◊┘┌█▄▌▐▀⍺⍹⊂⊃⍝⍲⍴⍱⌽⊖○∨⍳⍉∈∩⌿⍀≥≤≠×÷⍙∘⍵⍫⍋⍒¯¨ 
⌷⍂⌻⊢⊣◊┘┌█▄▌▐▀⍺⍹⊂⊃⍝⍲⍴⍱⌽⊖○∨⍳⍉∈∩⌿⍀≥≤≠×÷⍙∘⍵⍫⍋⍒¯¨
</source>
</pre>
 
<source lang=apl inline>⎕AV</source> is obsolete in Dyalog APL since Unicode Edition was introduced. It no longer contains all the [[glyph]]s used for [[primitive function]]s and [[primitive operator|operators]] in Dyalog APL.
 
The '''Unicode Atomic Vector''' (<source lang=apl inline>⎕AVU</source>) defines characters in <source lang=apl inline>⎕AV</source> as a list of Unicode code points.


== External links ==
== External links ==

Navigation menu