Leading axis theory: Difference between revisions

Jump to navigation Jump to search
341 bytes added ,  15:08, 5 October 2020
no edit summary
No edit summary
(One intermediate revision by one other user not shown)
Line 1: Line 1:
'''Leading axis theory''', or the '''leading axis model''', is an approach to array language design and use that emphasizes working with arrays by manipulating their [[cell]]s and mapping functions over leading [[Axis|axes]] implicitly using [[function rank]] or explicitly using the [[Rank operator]]. It was initially developed in [[SHARP APL]] in the early 1980s and is now a major feature of [[J]] and [[Dyalog APL]], as well as languages influenced by these. The name "leading axis" comes from the [[frame]], which consists of leading axes of an array, the related concept of [[leading axis agreement]], which extends [[scalar]] [[conformability]], and the emphasis on first axis forms of functions while deprecating or discarding other [[function axis|choices of axis]].
'''Leading axis theory''', or the '''leading axis model''', is an approach to array language design and use that emphasizes working with arrays by manipulating their [[cell]]s and mapping functions over leading [[Axis|axes]] implicitly using [[function rank]] or explicitly using the [[Rank (operator)|Rank operator]]. It was initially developed in [[SHARP APL]] in the early 1980s and is now a major feature of [[J]] and [[Dyalog APL]], as well as languages influenced by these. The name "leading axis" comes from the [[frame]], which consists of leading axes of an array, the related concept of [[leading axis agreement]], which extends [[scalar]] [[conformability]], and the emphasis on first axis forms of functions while deprecating or discarding other [[function axis|choices of axis]].


== Features ==
== Features ==
Line 36: Line 36:


{|class=wikitable
{|class=wikitable
! Functions                                !! [[SHARP APL]]      !! [[Dyalog APL]]      !!style="min-width:5em"| [[A+]]  !!style="min-width:5em"| [[J]]
! Functions                                !! [[SHARP APL]]      !! [[Dyalog APL]]      !!style="min-width:5em"| [[A+]]  !!style="min-width:5em"| [[J]]    !!style="min-width:5em"| [[BQN]]
|-
|-
| [[Take]], [[Drop]]                      || {{Yes|19.0}}        || {{Yes|13.0}}        || {{Yes}}                        || {{Yes}}
| [[Take]], [[Drop]]                      || {{Yes|19.0}}        || {{Yes|13.0}}        || {{Yes}}                        || {{Yes}}                        || {{Yes}}
|-
|-
| [[Squad Indexing|Indexing]] function                   || {{Yes|19.0}}        || {{Yes|13.0}}        || {{Yes}}                        || {{Yes}}
| [[Squad Indexing|Indexing]] function     || {{Yes|19.0}}        || {{Yes|13.0}}        || {{Yes}}                        || {{Yes}}                        || {{Yes}}
|-
|-
| [[Bracket indexing]]                    || {{No}}              || {{No}}              || {{Yes}}                        ||style="text-align:center;"| N/A
| [[Bracket indexing]]                    || {{No}}              || {{No}}              || {{Yes}}                        ||style="text-align:center;"| N/A  ||style="text-align:center;"| N/A
|-
|-
| [[Scalar dyadic]]s                      || {{Yes}}            || {{No}}              || {{No}}                        || {{Yes}}
| [[Scalar dyadic]]s                      || {{Yes}}            || {{No}}              || {{No}}                        || {{Yes}}                        || {{Yes}}
|-
|-
| [[Index Of]]                            || {{No|Incompatible}} || {{Yes|14.0}}        || {{Yes}}                        || {{Yes}}
| [[Index Of]]                            || {{No|Incompatible}} || {{Yes|14.0}}        || {{Yes}}                        || {{Yes}}                        || {{Yes}}
|-
|-
| [[Membership]]                          || {{No|Incompatible}} || {{No|Incompatible}} || {{Yes}}                        || {{Yes}}
| [[Membership]]                          || {{No|Incompatible}} || {{No|Incompatible}} || {{Yes}}                        || {{Yes}}                        || {{Yes}}
|-
|-
| [[Unique]]                              || {{Yes}}            || {{Yes|17.0}}        ||style="text-align:center;"| N/A || {{Yes}}
| [[Unique]]                              || {{Yes}}            || {{Yes|17.0}}        ||style="text-align:center;"| N/A || {{Yes}}                        || {{Yes}}
|-
|-
| [[Union]], [[Intersection]], [[Without]] || {{No}}              || {{No}}              ||style="text-align:center;"| N/A || {{Yes}}
| [[Union]], [[Intersection]], [[Without]] || {{No}}              || {{No}}              ||style="text-align:center;"| N/A || {{Yes}}                         ||style="text-align:center;"| N/A
|}
|}


Navigation menu