Timeline of APL primitives: Difference between revisions

Jump to navigation Jump to search
Complex Floor at SHARP
m (Swapped glyphs)
(Complex Floor at SHARP)
(7 intermediate revisions by the same user not shown)
Line 4: Line 4:
! Year !! Dialect        !! Primitives
! Year !! Dialect        !! Primitives
|-
|-
| 1965 || [[IVSYS/7090]] || [[Add]], [[Negate]], [[Subtract]], [[Multiply]], [[Divide]], [[Floor]], [[Ceiling]], [[Minimum]], [[Maximum]], [[Absolute value]], [[Modulus]], [[Exponential]], [[Power]], [[Not]], [[And]], [[Or]], [[comparison]]s, [[Iota]], [[Index of]], [[Shape]], [[Reshape]], [[Ravel]], [[Catenate]], [[Rotate]] (as <syntaxhighlight lang=apl inline>↑↓</syntaxhighlight>), [[Member of]], [[Encode]], [[Decode]], [[Reduce]], [[Compress]], [[Expand]], [[Inner product]], [[Outer product]], [[Assignment]], [[Bracket indexing]], [[Branch]]/[[Label]]
| 1965 || [[IVSYS/7090]] || [[Identity]] (<syntaxhighlight lang=apl inline>+</syntaxhighlight>), [[Add]], [[Negate]], [[Subtract]], [[Multiply]], [[Divide]], [[Floor]], [[Ceiling]], [[Minimum]], [[Maximum]], [[Absolute value]], [[Modulus]], [[Exponential]], [[Power]], [[Not]], [[And]], [[Or]], [[comparison]]s, [[Iota]], [[Index of]], [[Shape]], [[Reshape]], [[Ravel]], [[Catenate]], [[Rotate]] (as <syntaxhighlight lang=apl inline>↑↓</syntaxhighlight>), [[Member of]], [[Encode]], [[Decode]], [[Reduce]], [[Compress]], [[Expand]], [[Inner product]], [[Outer product]], [[Assignment]], [[Bracket indexing]], [[Branch]]/[[Label]]
|-
|-
| 1966 || [[APL\360]]    || [[Reciprocal]], [[Natural Logarithm]], [[Factorial]], [[Combinations]], [[Roll]], [[Transpose]], [[Rotate]] (<syntaxhighlight lang=apl inline>⌽</syntaxhighlight>), [[Function axis]]
| 1966 || [[APL\360]]    || [[Reciprocal]], [[Natural Logarithm]], [[Factorial]], [[Combinations]], [[Roll]], [[Transpose]], [[Reverse]]/[[Rotate]] (<syntaxhighlight lang=apl inline>⌽</syntaxhighlight>), [[Function axis]]
|-
|-
| 1968 || [[APL\360]]    || [[Signum]], [[Deal]], [[Pi times]], [[Circular]], [[Nand]], [[Nor]], [[Take]] (<syntaxhighlight lang=apl inline>↑</syntaxhighlight>), [[Drop]] (<syntaxhighlight lang=apl inline>↓</syntaxhighlight>), [[Grade]], [[Rotate First]] (<syntaxhighlight lang=apl inline>⊖</syntaxhighlight>), [[I-Beam]]
| 1968 || [[APL\360]]    || [[Signum]], [[Logarithm]], [[Deal]], [[Pi times]], [[Circular]], [[Nand]], [[Nor]], [[Take]] (<syntaxhighlight lang=apl inline>↑</syntaxhighlight>), [[Drop]] (<syntaxhighlight lang=apl inline>↓</syntaxhighlight>), [[Grade]], [[Reverse First]]/[[Rotate First]] (<syntaxhighlight lang=apl inline>⊖</syntaxhighlight>), [[I-Beam]]
|-
|-
| 1970 || [[APL\360]]    || overtake with [[Take]]
| 1970 || [[APL\360]]    || overtake with [[Take]]
Line 27: Line 27:
                           | [[Partitioned Enclose]] (<syntaxhighlight lang=apl inline>⊂</syntaxhighlight>), [[First]] (<syntaxhighlight lang=apl inline>⊃</syntaxhighlight>), [[Type]] (<syntaxhighlight lang=apl inline>⊤</syntaxhighlight>), [[Split]] (<syntaxhighlight lang=apl inline>↓</syntaxhighlight>), [[Mix]] (<syntaxhighlight lang=apl inline>↑</syntaxhighlight>), [[Not Match]], [[Catenate First]] (<syntaxhighlight lang=apl inline>⍪</syntaxhighlight>), [[Compose]] (<syntaxhighlight lang=apl inline>∘</syntaxhighlight>), [[Each]] (<syntaxhighlight lang=apl inline>¨</syntaxhighlight>), [[Zilde]], [[Choose indexing]]
                           | [[Partitioned Enclose]] (<syntaxhighlight lang=apl inline>⊂</syntaxhighlight>), [[First]] (<syntaxhighlight lang=apl inline>⊃</syntaxhighlight>), [[Type]] (<syntaxhighlight lang=apl inline>⊤</syntaxhighlight>), [[Split]] (<syntaxhighlight lang=apl inline>↓</syntaxhighlight>), [[Mix]] (<syntaxhighlight lang=apl inline>↑</syntaxhighlight>), [[Not Match]], [[Catenate First]] (<syntaxhighlight lang=apl inline>⍪</syntaxhighlight>), [[Compose]] (<syntaxhighlight lang=apl inline>∘</syntaxhighlight>), [[Each]] (<syntaxhighlight lang=apl inline>¨</syntaxhighlight>), [[Zilde]], [[Choose indexing]]
|-
|-
| 1981 || [[SHARP APL]]  || [[function rank]], close [[Over]] (<syntaxhighlight lang=apl inline>⍤</syntaxhighlight>), [[Atop]] (<syntaxhighlight lang=apl inline>⍥</syntaxhighlight>), [[Under]] (<syntaxhighlight lang=apl inline>¨</syntaxhighlight>) ([[Operators and Functions]] 1978; not widely adopted)
| 1981 || [[SHARP APL]]  || [[function rank]], [[Close composition|close]] [[Over]] (<syntaxhighlight lang=apl inline>⍤</syntaxhighlight>), [[Atop]] (<syntaxhighlight lang=apl inline>⍥</syntaxhighlight>), [[Under]] (<syntaxhighlight lang=apl inline>¨</syntaxhighlight>) ([[Operators and Functions]] 1978; not widely adopted) <br/> [[complex]] extensions: [[Circular]] functions 8 and up ([[Eugene McDonnell|McDonnell]] 1977), [[Conjugate]] (proposed Paul Penfield 1977; IBM documenation by 1975)
|-
|-
| 1982 || [[SHARP APL]]  || [[Determinant]] (<syntaxhighlight lang=apl inline>.</syntaxhighlight>) ([[Ken Iverson|Iverson]] 1982)
| 1982 || [[SHARP APL]]  || [[Determinant]] (<syntaxhighlight lang=apl inline>.</syntaxhighlight>) ([[Ken Iverson|Iverson]] 1982)
|-
| 1982 || [[SHARP APL]]  || [[complex Floor]], Ceiling, Modulus, Encode ([[Eugene McDonnell|McDonnell]] 1973)
|-
|-
| 1983 || [[SHARP APL]]  || [[Rank operator]] (<syntaxhighlight lang=apl inline>⍤</syntaxhighlight>) ([[Arthur Whitney|Whitney]] 1982) <br/> [[Left]] (<syntaxhighlight lang=apl inline>⊣</syntaxhighlight>), [[Right]] (<syntaxhighlight lang=apl inline>⊢</syntaxhighlight>), [[Conditional enclose]]/[[Link]] (<syntaxhighlight lang=apl inline>⊃</syntaxhighlight>)
| 1983 || [[SHARP APL]]  || [[Rank operator]] (<syntaxhighlight lang=apl inline>⍤</syntaxhighlight>) ([[Arthur Whitney|Whitney]] 1982) <br/> [[Left]] (<syntaxhighlight lang=apl inline>⊣</syntaxhighlight>), [[Right]] (<syntaxhighlight lang=apl inline>⊢</syntaxhighlight>), [[Conditional enclose]]/[[Link]] (<syntaxhighlight lang=apl inline>⊃</syntaxhighlight>)
|-
|-
| 1984 || [[APL2]]      || [[Partition]] (<syntaxhighlight lang=apl inline>⊂</syntaxhighlight>), [[First]] (<syntaxhighlight lang=apl inline>↑</syntaxhighlight>) and [[Mix]] (<syntaxhighlight lang=apl inline>⊃</syntaxhighlight>) opposite to NARS, [[Index (function)|Index]] (<syntaxhighlight lang=apl inline>⌷</syntaxhighlight>), [[Find]] (<syntaxhighlight lang=apl inline>⍷</syntaxhighlight>), [[Depth]] (<syntaxhighlight lang=apl inline>≡</syntaxhighlight>)
| 1984 || [[APL2]]      || [[Partition]] (<syntaxhighlight lang=apl inline>⊂</syntaxhighlight>), [[First]] (<syntaxhighlight lang=apl inline>↑</syntaxhighlight>) and [[Mix]] (<syntaxhighlight lang=apl inline>⊃</syntaxhighlight>) opposite to NARS, [[Index (function)|Index]] (<syntaxhighlight lang=apl inline>⌷</syntaxhighlight>), [[Find]] (<syntaxhighlight lang=apl inline>⍷</syntaxhighlight>), [[Depth]] (<syntaxhighlight lang=apl inline>≡</syntaxhighlight>), [[Enlist]] (<syntaxhighlight lang=apl inline>∊</syntaxhighlight>)
|-
|-
| 1987 || [[SHARP APL]]  || short left argument for [[Take]], [[Drop]]
| 1987 || [[SHARP APL]]  || [[Table]] (<syntaxhighlight lang=apl inline>⍪</syntaxhighlight>) <br/> short left argument for [[Take]], [[Drop]]
|-
|-
| 1989 || [[SHARP APL]]  || [[Nub Sieve]] (<syntaxhighlight lang=apl inline>≠</syntaxhighlight>), [[Find]] (<syntaxhighlight lang=apl inline>⍷</syntaxhighlight>), [[Raze]] (<syntaxhighlight lang=apl inline>↓</syntaxhighlight>) ([[A Dictionary of APL]] 1987)
| 1989 || [[SHARP APL]]  || [[Nub Sieve]] (<syntaxhighlight lang=apl inline>≠</syntaxhighlight>), [[Find]] (<syntaxhighlight lang=apl inline>⍷</syntaxhighlight>), [[Raze]] (<syntaxhighlight lang=apl inline>↓</syntaxhighlight>) ([[A Dictionary of APL]] 1987)
|-
|-
<!-- | ?    || [[SHARP APL]]           || [[From]] ([[Rationalized APL]] 1983)
<!-- | ?    || [[SHARP APL]] || [[From]] ([[Rationalized APL]] 1983)
|- -->
|- -->
| 2009 || [[NARS2000]]  || [[Function train]]s (proposed [[Ken Iverson|Iverson]] and [[Eugene McDonnell|McDonnell]] 1989; [[J]] 1990)
| 2009 || [[NARS2000]]  || [[Function train]]s (proposed [[Ken Iverson|Iverson]] and [[Eugene McDonnell|McDonnell]] 1989; [[J]] 1990)
Line 45: Line 47:
| 2010 || [[NARS2000]]  || [[Tally]] (<syntaxhighlight lang=apl inline>></syntaxhighlight>, changed to <syntaxhighlight lang=apl inline>≢</syntaxhighlight> following Dyalog, 2011) ([[A+]] 1988, [[J]] 1990)
| 2010 || [[NARS2000]]  || [[Tally]] (<syntaxhighlight lang=apl inline>></syntaxhighlight>, changed to <syntaxhighlight lang=apl inline>≢</syntaxhighlight> following Dyalog, 2011) ([[A+]] 1988, [[J]] 1990)
|-
|-
| 2010 || [[NARS2000]]  || [[Indices]] (<syntaxhighlight lang=apl inline>⍸</syntaxhighlight>) ([[K]] 1996; [[J]] 2003)
| 2010 || [[NARS2000]]  || [[Indices]] (<syntaxhighlight lang=apl inline>⍸</syntaxhighlight>) ([[K]] 1996, [[J]] 2003)
|-
|-
| 2011 || [[NARS2000]]  || [[Over]] (<syntaxhighlight lang=apl inline>⍥</syntaxhighlight>) (SHARP APL (close) 1981)
| 2011 || [[NARS2000]]  || [[Over]] (<syntaxhighlight lang=apl inline>⍥</syntaxhighlight>) (SHARP (close) 1981)
|-
|-
| 2011 || [[NARS2000]]  || [[Square Root]]/[[Root]] (<syntaxhighlight lang=apl inline>√</syntaxhighlight>) (proposed [[Eugene McDonnell|McDonnell]] 1986, [[J]] 1990)
| 2011 || [[NARS2000]]  || [[Square Root]]/[[Root]] (<syntaxhighlight lang=apl inline>√</syntaxhighlight>) (proposed [[Eugene McDonnell|McDonnell]] 1986; [[J]] 1990)
|-
|-
| 2011 || [[Dyalog APL]] || [[Key]] (<syntaxhighlight lang=apl inline>⌸</syntaxhighlight>) ([[J]] 1990)<!-- <br/> [[Variant]] (<syntaxhighlight lang=apl inline>⍠</syntaxhighlight>) ([[Operators and Functions]] 1978)-->
| 2011 || [[Dyalog APL]] || [[Key]] (<syntaxhighlight lang=apl inline>⌸</syntaxhighlight>) ([[J]] 1990)<!-- <br/> [[Variant]] (<syntaxhighlight lang=apl inline>⍠</syntaxhighlight>) ([[Operators and Functions]] 1978)-->
Line 55: Line 57:
| 2014 || [[Dyalog APL]] || 2-[[train]] as [[Atop]] (proposed [[Roger Hui|Hui]] 2006; [[I]] 2012), [[major cell search]] ([[A+]] 1988)
| 2014 || [[Dyalog APL]] || 2-[[train]] as [[Atop]] (proposed [[Roger Hui|Hui]] 2006; [[I]] 2012), [[major cell search]] ([[A+]] 1988)
|-
|-
| 2017 || [[Dyalog APL]] || [[At]] (<syntaxhighlight lang=apl inline>@</syntaxhighlight>) ([[John Scholes|Scholes]]) <br/> [[Stencil]] (<syntaxhighlight lang=apl inline>⌺</syntaxhighlight>) (from [[Cut]]: [[Rationalized APL]] 1983, [[J]] 1994) <br/> [[Interval Index]] (<syntaxhighlight lang=apl inline>⍸</syntaxhighlight>) ([[A+]] 1988, [[J]] 2006) <br/> [[Nest]] (<syntaxhighlight lang=apl inline>⊆</syntaxhighlight>) (SHARP APL 1983)
| 2017 || [[Dyalog APL]] || [[At]] (<syntaxhighlight lang=apl inline>@</syntaxhighlight>) ([[John Scholes|Scholes]]) <br/> [[Stencil]] (<syntaxhighlight lang=apl inline>⌺</syntaxhighlight>) (from [[Cut]]: [[Rationalized APL]] 1983, [[J]] 1994) <br/> [[Interval Index]] (<syntaxhighlight lang=apl inline>⍸</syntaxhighlight>) ([[A+]] 1988, [[J]] 2006) <br/> [[Nest]] (<syntaxhighlight lang=apl inline>⊆</syntaxhighlight>) (SHARP 1983)
|-
|-
<!-- | 2018 || [[dzaima/APL]] || [[Array notation]] (numerous other languages; proposed [[Phil Last|Last]] 2015)
<!-- | 2018 || [[dzaima/APL]] || [[Array notation]] (numerous other languages; proposed [[Phil Last|Last]] 2015)
Line 61: Line 63:
| 2019 || [[dzaima/APL]] || [[Reverse Compose]] (<syntaxhighlight lang=apl inline>⍛</syntaxhighlight>) ([[I]] 2012, [[Extended Dyalog APL]] 2019) <!-- <br/> [[Pair]] (<syntaxhighlight lang=apl inline>⍮</syntaxhighlight>) ([[Nial]] dyadic 1982, [[I]] 2012) -->
| 2019 || [[dzaima/APL]] || [[Reverse Compose]] (<syntaxhighlight lang=apl inline>⍛</syntaxhighlight>) ([[I]] 2012, [[Extended Dyalog APL]] 2019) <!-- <br/> [[Pair]] (<syntaxhighlight lang=apl inline>⍮</syntaxhighlight>) ([[Nial]] dyadic 1982, [[I]] 2012) -->
|-
|-
| 2020 || [[Dyalog APL]] || [[Atop]] (<syntaxhighlight lang=apl inline>⍤</syntaxhighlight>) (SHARP APL (close) 1981), [[Constant]] (<syntaxhighlight lang=apl inline>⍨</syntaxhighlight>) ([[I]] 2012)
| 2020 || [[Dyalog APL]] || [[Atop]] (<syntaxhighlight lang=apl inline>⍤</syntaxhighlight>) (SHARP (close) 1981), [[Constant]] (<syntaxhighlight lang=apl inline>⍨</syntaxhighlight>) ([[I]] 2012)
|}
|}


Navigation menu