Strand notation: Difference between revisions

Jump to navigation Jump to search
238 bytes added ,  08:29, 8 February 2021
no edit summary
m (Categories)
No edit summary
(2 intermediate revisions by 2 users not shown)
Line 5: Line 5:


Several variations on stranding exist:
Several variations on stranding exist:
* In [[Dyalog APL]], [[NARS2000]] and others, arrays are stranded before operator or function evaluation.
* In [[Dyalog APL]], [[NARS2000]], [[APL.68000]], and others, arrays are stranded before operator or function evaluation.
* In [[APL2]], [[APLX]] and others, arrays are stranded after operator evaluation and bracket indexing, but before function evaluation.
* In [[APL2]], [[APLX]] and others, arrays are stranded after operator evaluation and bracket indexing, but before function evaluation.
* In [[APL\360]], [[SHARP APL]] and [[J]] stranding is called '''vector notation''' and is a part of token formation rather than execution. Only plain numbers are stranded.
* In [[APL\360]], [[SHARP APL]] and [[J]] stranding is called '''vector notation''' and is a part of token formation rather than execution. Only plain numbers are stranded.
* In [[A+]] a system equivalent to APL\360 is implemented, but is described as part of [[numeric literal]] notation. "Stranding" in A+ refers to vector notation using parentheses and semicolons <source lang=apl inline>(a;b;c)</source>.
* In [[A+]] a system equivalent to APL\360 is implemented, but is described as part of [[numeric literal]] notation. "Stranding" in A+ refers to vector notation using parentheses and semicolons <source lang=apl inline>(a;b;c)</source>.
* [[BQN]] breaks [[backwards compatibility]] with APL and does not allow stranding by juxtaposition even for numbers. Instead, the "ligature" character <code>‿</code> is used for a more explicit variation of stranding.


An example in which stranding interferes with the most obvious way of writing a program is shown below. Consider applying the function <source lang=apl inline>f</source> to <source lang=apl inline>0.8</source> three times using the [[Power operator]]:
An example in which stranding interferes with the most obvious way of writing a program is shown below. Consider applying the function <source lang=apl inline>f</source> to <source lang=apl inline>0.8</source> three times using the [[Power operator]]:
Line 25: Line 26:
=== Documentation ===
=== Documentation ===


* [http://help.dyalog.com/latest/index.htm#Language/Introduction/Variables/Vector%20Notation.htm Dyalog]
* [https://help.dyalog.com/latest/index.htm#Language/Introduction/Variables/Vector%20Notation.htm Dyalog]
* [http://microapl.com/apl_help/ch_020_010_130.htm APLX]
* [http://microapl.com/apl_help/ch_020_010_130.htm APLX]


{{APL syntax}}[[Category:APL syntax]][[Category:Nested array model]]
{{APL syntax}}[[Category:APL syntax]][[Category:Nested array model]]

Navigation menu