Timeline of APL primitives: Difference between revisions

Jump to navigation Jump to search
m
no edit summary
(Place Conjugate at SHARP's complex number implementation)
mNo edit summary
 
(9 intermediate revisions by the same user not shown)
Line 4: Line 4:
! Year !! Dialect        !! Primitives
! Year !! Dialect        !! Primitives
|-
|-
| 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]]
| 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]] (including indexed), [[Bracket indexing]], [[Branch]]/[[Label]]
|-
|-
| 1966 || [[APL\360]]    || [[Reciprocal]], [[Natural Logarithm]], [[Factorial]], [[Combinations]], [[Roll]], [[Transpose]], [[Reverse]]/[[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]]
Line 15: Line 15:
|-
|-
| 1973 || [[APL.SV]]    || [[Execute]], [[Format]], [[Scan]]
| 1973 || [[APL.SV]]    || [[Execute]], [[Format]], [[Scan]]
|-
| 1974 || [[APL/700]]    || [[Union]], [[Intersection]], [[Set Difference]] (but these functions only return unique elements), [[modified assignment]] (scalar dyadics only)
|-
|-
| 1980 || [[SHARP APL]]  || [[GCD]]/[[LCM]] extending [[Or]]/[[And]] (proposed [[Eugene McDonnell|McDonnell]] 1975)
| 1980 || [[SHARP APL]]  || [[GCD]]/[[LCM]] extending [[Or]]/[[And]] (proposed [[Eugene McDonnell|McDonnell]] 1975)
Line 27: Line 29:
                           | [[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 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/> [[Conjugate]] with [[complex number]] support (proposed Paul Penfield 1977; IBM documenation by 1975)
| 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>), [[Enlist]] (<syntaxhighlight lang=apl inline></syntaxhighlight>)
| 1984 || [[APL2]]      || [[First]] (<syntaxhighlight lang=apl inline></syntaxhighlight>) and [[Mix]] (<syntaxhighlight lang=apl inline></syntaxhighlight>) opposite to NARS, [[Partition]] (<syntaxhighlight lang=apl inline></syntaxhighlight>), [[Enlist]] (<syntaxhighlight lang=apl inline></syntaxhighlight>), [[Find]] (<syntaxhighlight lang=apl inline>⍷</syntaxhighlight>), [[Depth]] (<syntaxhighlight lang=apl inline>≡</syntaxhighlight>), [[Index (function)|Index]] (<syntaxhighlight lang=apl inline></syntaxhighlight>), [[selective assignment]]
|-
|-
| 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>), [[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)

Navigation menu