Operand: Difference between revisions

Jump to navigation Jump to search
14 bytes removed ,  23:33, 16 November 2019
no edit summary
Miraheze>Adám Brudzewsky
No edit summary
Miraheze>Adám Brudzewsky
No edit summary
Line 3: Line 3:
In [[APL\360]] and many later APLs, only functions were allowed as operands. Modern APLs tend to allow array operands for operators such as [[Power operator|Power]] and [[Rank operator|Rank]]. While there is no syntactic consideration that prevents this, it can cause frustration while programming due to [[strand notation]]. If operators only take function operands and functions only take array arguments, then it is impossible for two arrays to appear next to each other in an APL sentence and thus this syntax can be repurposed for stranding. With array operands this is no longer the case, and stranding conflicts with operator application. Some APLs resolve this conflict by stranding before operator application while others apply operators before stranding.
In [[APL\360]] and many later APLs, only functions were allowed as operands. Modern APLs tend to allow array operands for operators such as [[Power operator|Power]] and [[Rank operator|Rank]]. While there is no syntactic consideration that prevents this, it can cause frustration while programming due to [[strand notation]]. If operators only take function operands and functions only take array arguments, then it is impossible for two arrays to appear next to each other in an APL sentence and thus this syntax can be repurposed for stranding. With array operands this is no longer the case, and stranding conflicts with operator application. Some APLs resolve this conflict by stranding before operator application while others apply operators before stranding.


{{APL programming language}}
{{APL syntax}}

Navigation menu