2,963
edits
m (→Releases) |
(→Primitive functions: Show 1987 primitives in the tables: some guessing, but it's better than using SAX, which may have primitives never added to SHARP) |
||
Line 47: | Line 47: | ||
== Primitive functions == | == Primitive functions == | ||
=== | The primitives shown here are those for SHARP APL around 1987, near the end of the decline of [[time-sharing]] APL. Some primitives from [[A Dictionary of APL]] were added after this, including [[Find|In]] (<syntaxhighlight lang=apl inline>⍷</syntaxhighlight>), [[Nubsieve]] (<syntaxhighlight lang=apl inline>≠</syntaxhighlight>), and [[Raze]] (<syntaxhighlight lang=apl inline>↓</syntaxhighlight>), and these appear in [[SAX]]. | ||
=== Scalar === | |||
All scalar functions have rank zero. | All scalar functions have rank zero. | ||
Line 56: | Line 56: | ||
! Glyph !! Monadic !! Dyadic | ! Glyph !! Monadic !! Dyadic | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>+</syntaxhighlight> || [[Conjugate]] | | <syntaxhighlight lang=apl inline>+</syntaxhighlight> || [[Conjugate]] || [[Addition]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>-</syntaxhighlight> || [[Negate]] | | <syntaxhighlight lang=apl inline>-</syntaxhighlight> || [[Negate]] || [[Subtraction]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>×</syntaxhighlight> || [[Signum]] | | <syntaxhighlight lang=apl inline>×</syntaxhighlight> || [[Signum]] || [[Multiplication]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>÷</syntaxhighlight> || [[Reciprocal]] | | <syntaxhighlight lang=apl inline>÷</syntaxhighlight> || [[Reciprocal]] || [[Division]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>*</syntaxhighlight> || [[Exponential]] | | <syntaxhighlight lang=apl inline>*</syntaxhighlight> || [[Exponential]] || [[Power function|Power]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>⍟</syntaxhighlight> || [[Natural Logarithm]] | | <syntaxhighlight lang=apl inline>⍟</syntaxhighlight> || [[Natural Logarithm]] || [[Logarithm|Base-⍺ Logarithm]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>|</syntaxhighlight> || [[Magnitude]] | | <syntaxhighlight lang=apl inline>|</syntaxhighlight> || [[Magnitude]] || [[Residue]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>!</syntaxhighlight> || [[Factorial]] | | <syntaxhighlight lang=apl inline>!</syntaxhighlight> || [[Factorial]] || [[Binomial]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>⌊</syntaxhighlight> || [[Floor]] | | <syntaxhighlight lang=apl inline>⌊</syntaxhighlight> || [[Floor]] || [[Minimum]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>⌈</syntaxhighlight> || [[Ceiling]] | | <syntaxhighlight lang=apl inline>⌈</syntaxhighlight> || [[Ceiling]] || [[Maximum]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>○</syntaxhighlight> || [[Pi Times]] | | <syntaxhighlight lang=apl inline>○</syntaxhighlight> || [[Pi Times]] || [[Circle functions]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>∧</syntaxhighlight> || | | <syntaxhighlight lang=apl inline>∧</syntaxhighlight> || || [[And]]/[[LCM]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>∨</syntaxhighlight> || | | <syntaxhighlight lang=apl inline>∨</syntaxhighlight> || || [[Or]]/[[GCD]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>⍲</syntaxhighlight> || | | <syntaxhighlight lang=apl inline>⍲</syntaxhighlight> || || [[Nand]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>⍱</syntaxhighlight> || | | <syntaxhighlight lang=apl inline>⍱</syntaxhighlight> || || [[Nor]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>~</syntaxhighlight> || [[Not]] | | <syntaxhighlight lang=apl inline>~</syntaxhighlight> || [[Not]] || | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>?</syntaxhighlight> || [[Roll]] | | <syntaxhighlight lang=apl inline>?</syntaxhighlight> || [[Roll]] || See [[#Non-Scalar|Non-scalar]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline>=</syntaxhighlight> || || [[Equals]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline>≠</syntaxhighlight> || || [[Not Equals]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline><</syntaxhighlight> || See [[#Non-Scalar|Non-scalar]] || [[Less Than]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline>≤</syntaxhighlight> || || [[Less Than or Equal]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline>≥</syntaxhighlight> || || [[Greater Than or Equal]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline>></syntaxhighlight> || See [[#Non-Scalar|Non-scalar]] || [[Greater Than]] | ||
|} | |} | ||
=== | === Non-scalar === | ||
{| class=wikitable | {| class=wikitable | ||
! Glyph !! Rank !! Monadic | ! Glyph !! Rank !! Monadic !! Ranks !! Dyadic | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline>⌹</syntaxhighlight> || 2 || [[Matrix inverse]] || ∞ 2 || [[Matrix divide]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline>?</syntaxhighlight> || || See [[#Scalar|Scalar]] || * * || [[Deal]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline>⊤</syntaxhighlight> || || || ∞ ∞ || [[Encode]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline>⊥</syntaxhighlight> || || || ∞ ∞ || [[Decode]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline>≡</syntaxhighlight> || || || ∞ ∞ || [[Match]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline>∊</syntaxhighlight> || || || 0 ∞ || [[Membership]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline>⍳</syntaxhighlight> || 1 || [[Index Generator|Count]] || 1 0 || [[Index Of]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline>⍋</syntaxhighlight> || ∞ || Numeric [[Grade up]] || ∞ ∞ || Character [[Grade up]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline>⍒</syntaxhighlight> || ∞ || Numeric [[Grade down]] || ∞ ∞ || Character [[Grade down]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline>⍴</syntaxhighlight> || ∞ || [[Shape|Shape of]] || 1 ∞ || [[Reshape]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline>↑</syntaxhighlight> || || || 1 ∞ || [[Take]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline>↓</syntaxhighlight> || || || 1 ∞ || [[Drop]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline><</syntaxhighlight> || ∞ || [[Enclose]]/Box || || See [[#Scalar|Scalar]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline>⊃</syntaxhighlight> || || || ∞ ∞ || [[Link]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline>></syntaxhighlight> || 0 || [[Disclose]]/Open || || See [[#Scalar|Scalar]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline>,</syntaxhighlight> || ∞ || [[Ravel]] || ∞ ∞ || [[Catenate]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline>⍪</syntaxhighlight> || ∞ || [[Table]] || ∞ ∞ || [[Catenate First|Catenate-Down]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline>⌽</syntaxhighlight> || 1 || [[Reverse]] || 0 1 || [[Rotate]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline>⊖</syntaxhighlight> || ∞ || [[Reverse First|Reverse-Down]] || ∞ ∞ || [[Rotate First|Rotate-Down]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline>⍉</syntaxhighlight> || ∞ || Monadic [[Transpose]] || 0 ∞ || Dyadic [[Transpose]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline>⊣</syntaxhighlight> || ∞ || [[Stop]] || ∞ ∞ || [[Left Identity|Left]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline> | | <syntaxhighlight lang=apl inline>⊢</syntaxhighlight> || ∞ || [[Identity|Pass]] || ∞ ∞ || [[Right Identity|Right]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>⍕</syntaxhighlight> || ∞ || [[Monadic Format]] | | <syntaxhighlight lang=apl inline>⍕</syntaxhighlight> || ∞ || [[Monadic Format]] || * ∞ || [[Dyadic Format]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>⍎</syntaxhighlight> || * || [[Execute]] | | <syntaxhighlight lang=apl inline>⍎</syntaxhighlight> || * || [[Execute]] || || | ||
|} | |} | ||