SAX
Revision as of 21:14, 10 September 2022 by Adám Brudzewsky (talk | contribs) (Text replacement - "<source" to "<syntaxhighlight")
SAX (SHARP APL for UNIX) was a version of SHARP APL offered by Soliton Associates. Notable features of SAX include function rank, the Rank operator, and leading axis theory, as well as relative comparison tolerance and close composition operators including Under.
Primitive functions
Arithmetic
Scalar
All scalar functions have rank zero.
Glyph | Monadic | Dyadic |
---|---|---|
<syntaxhighlight lang=apl inline>+</source> | Conjugate/Identity | Addition |
<syntaxhighlight lang=apl inline>-</source> | Negate | Subtraction |
<syntaxhighlight lang=apl inline>×</source> | Signum | Multiplication |
<syntaxhighlight lang=apl inline>÷</source> | Reciprocal | Division |
<syntaxhighlight lang=apl inline>*</source> | Exponential | Power |
<syntaxhighlight lang=apl inline>⍟</source> | Natural Logarithm | Base-⍺ Logarithm |
</source> | Magnitude | Residue |
<syntaxhighlight lang=apl inline>!</source> | Factorial | Out-Of/Combinations |
<syntaxhighlight lang=apl inline>⌊</source> | Floor | Minimum |
<syntaxhighlight lang=apl inline>⌈</source> | Ceiling | Maximum |
<syntaxhighlight lang=apl inline>○</source> | Pi Times | Circle functions |
<syntaxhighlight lang=apl inline>∧</source> | And/Least Common Multiple (LCM) | |
<syntaxhighlight lang=apl inline>∨</source> | Or/Greatest Common Divisor (GCD) | |
<syntaxhighlight lang=apl inline>⍲</source> | Nand | |
<syntaxhighlight lang=apl inline>⍱</source> | Nor | |
<syntaxhighlight lang=apl inline>~</source> | Not | See Miscellaneous |
<syntaxhighlight lang=apl inline>?</source> | Roll | See Non-scalar |
Non-scalar
Glyph | Rank | Monadic | Ranks | Dyadic |
---|---|---|---|---|
<syntaxhighlight lang=apl inline>⌹</source> | 2 | Matrix inverse | ∞ 2 | Matrix divide |
<syntaxhighlight lang=apl inline>?</source> | See Scalar | * * | Deal | |
<syntaxhighlight lang=apl inline>⊤</source> | ∞ ∞ | Encode | ||
<syntaxhighlight lang=apl inline>⊥</source> | ∞ ∞ | Decode |
Relational
Glyph | Rank | Monadic | Ranks | Dyadic |
---|---|---|---|---|
<syntaxhighlight lang=apl inline>=</source> | See Miscellaneous | 0 0 | Equals | |
<syntaxhighlight lang=apl inline>≠</source> | See Miscellaneous | 0 0 | Not Equals | |
<syntaxhighlight lang=apl inline><</source> | See Structural | 0 0 | Less Than | |
<syntaxhighlight lang=apl inline>≤</source> | 0 0 | Less Than or Equal | ||
<syntaxhighlight lang=apl inline>≥</source> | 0 0 | Greater Than or Equal | ||
<syntaxhighlight lang=apl inline>></source> | See Structural | 0 0 | Greater Than | |
<syntaxhighlight lang=apl inline>≡</source> | ∞ ∞ | Match | ||
<syntaxhighlight lang=apl inline>∊</source> | 0 ∞ | Membership | ||
<syntaxhighlight lang=apl inline>⍷</source> | ∞ ∞ | Find |
Indexing
Glyph | Rank | Monadic | Ranks | Dyadic |
---|---|---|---|---|
<syntaxhighlight lang=apl inline>@</source> | See Miscellaneous | 0 ∞ | From | |
<syntaxhighlight lang=apl inline>⍳</source> | 1 | Count | 1 0 | Index Of |
<syntaxhighlight lang=apl inline>⍸</source> | ∞ ∞ | Index | ||
<syntaxhighlight lang=apl inline>⍋</source> | ∞ | Numeric Grade up | ∞ ∞ | Character Grade up |
<syntaxhighlight lang=apl inline>⍒</source> | ∞ | Numeric Grade down | ∞ ∞ | Character Grade down |
Structural
Glyph | Rank | Monadic | Ranks | Dyadic |
---|---|---|---|---|
<syntaxhighlight lang=apl inline>⍴</source> | ∞ | Shape of | 1 ∞ | Reshape |
<syntaxhighlight lang=apl inline>↑</source> | See Miscellaneous | 1 ∞ | Take | |
<syntaxhighlight lang=apl inline>↓</source> | ∞ | Raze | 1 ∞ | Drop |
<syntaxhighlight lang=apl inline><</source> | ∞ | Enclose/Box | See Relational | |
<syntaxhighlight lang=apl inline>⊃</source> | ∞ | Conditional Enclose | ∞ ∞ | Link |
<syntaxhighlight lang=apl inline>></source> | 0 | Disclose/Open | See Relational | |
<syntaxhighlight lang=apl inline>,</source> | ∞ | Ravel | ∞ ∞ | Catenate |
<syntaxhighlight lang=apl inline>⍪</source> | ∞ | Table | ∞ ∞ | Catenate-Down |
<syntaxhighlight lang=apl inline>⌽</source> | 1 | Reverse | 0 1 | Rotate |
<syntaxhighlight lang=apl inline>⊖</source> | ∞ | Reverse-Down | ∞ ∞ | Rotate-Down |
<syntaxhighlight lang=apl inline>⍉</source> | ∞ | Monadic Transpose | 0 ∞ | Dyadic Transpose |
Miscellaneous
Glyph | Rank | Monadic | Ranks | Dyadic |
---|---|---|---|---|
<syntaxhighlight lang=apl inline>⊣</source> | ∞ | Stop | ∞ ∞ | Left |
<syntaxhighlight lang=apl inline>⊢</source> | ∞ | Pass | ∞ ∞ | Right |
<syntaxhighlight lang=apl inline>≠</source> | ∞ | Nubsieve | See Relational | |
<syntaxhighlight lang=apl inline>↑</source> | ∞ | Nub | See Structural | |
<syntaxhighlight lang=apl inline>=</source> | ∞ | Nubin | See Relational | |
<syntaxhighlight lang=apl inline>~</source> | See Scalar | ∞ ∞ | Less | |
<syntaxhighlight lang=apl inline>@</source> | 1 | All | See Indexing | |
<syntaxhighlight lang=apl inline>⍕</source> | ∞ | Monadic Format | * ∞ | Dyadic Format |
<syntaxhighlight lang=apl inline>⍎</source> | * | Execute |
Primitive Operators
Glyph | Operands | Ranks | Monadic Call | Dyadic Call | ||
---|---|---|---|---|---|---|
<syntaxhighlight lang=apl inline>/</source> | <syntaxhighlight lang=apl inline>f</source> | <syntaxhighlight lang=apl inline>∞</source> | Reduce | |||
<syntaxhighlight lang=apl inline>⌿</source> | <syntaxhighlight lang=apl inline>f</source> | <syntaxhighlight lang=apl inline>∞</source> | Reduce-down | |||
<syntaxhighlight lang=apl inline>\</source> | <syntaxhighlight lang=apl inline>f</source> | <syntaxhighlight lang=apl inline>∞</source> | Scan | |||
<syntaxhighlight lang=apl inline>⍀</source> | <syntaxhighlight lang=apl inline>f</source> | <syntaxhighlight lang=apl inline>∞</source> | Scan-down | |||
<syntaxhighlight lang=apl inline>/</source> | <syntaxhighlight lang=apl inline>m</source> | <syntaxhighlight lang=apl inline>∞</source> | Copy/Compress | |||
<syntaxhighlight lang=apl inline>⌿</source> | <syntaxhighlight lang=apl inline>m</source> | <syntaxhighlight lang=apl inline>∞</source> | Copy-down/Compress-down | |||
<syntaxhighlight lang=apl inline>\</source> | <syntaxhighlight lang=apl inline>m</source> | <syntaxhighlight lang=apl inline>∞</source> | Expand | |||
<syntaxhighlight lang=apl inline>⍀</source> | <syntaxhighlight lang=apl inline>m</source> | <syntaxhighlight lang=apl inline>∞</source> | Expand-down | |||
<syntaxhighlight lang=apl inline>⊂</source> | <syntaxhighlight lang=apl inline>f</source> | <syntaxhighlight lang=apl inline>∞</source> | <syntaxhighlight lang=apl inline>rf lf</source> | Swap | ||
<syntaxhighlight lang=apl inline>&</source> | <syntaxhighlight lang=apl inline>f</source> | <syntaxhighlight lang=apl inline>∞</source> | <syntaxhighlight lang=apl inline>∞ ∞</source> | Select | ||
<syntaxhighlight lang=apl inline>⍤</source> | <syntaxhighlight lang=apl inline>f</source> | <syntaxhighlight lang=apl inline>g</source> | <syntaxhighlight lang=apl inline>mg</source> | <syntaxhighlight lang=apl inline>mg mg</source> | On (close Over) | |
<syntaxhighlight lang=apl inline>⍤</source> | <syntaxhighlight lang=apl inline>f</source> | <syntaxhighlight lang=apl inline>n</source> | <syntaxhighlight lang=apl inline>n</source> | <syntaxhighlight lang=apl inline>n n</source> | Rank | |
<syntaxhighlight lang=apl inline>⍤</source> | <syntaxhighlight lang=apl inline>m</source> | <syntaxhighlight lang=apl inline>g</source> | <syntaxhighlight lang=apl inline>mg</source> | <syntaxhighlight lang=apl inline>mg mg</source> | Cut | |
<syntaxhighlight lang=apl inline>⍥</source> | <syntaxhighlight lang=apl inline>f</source> | <syntaxhighlight lang=apl inline>g</source> | <syntaxhighlight lang=apl inline>mg</source> | <syntaxhighlight lang=apl inline>mg mg</source> | Upon (close Atop) | |
<syntaxhighlight lang=apl inline>¨</source> | <syntaxhighlight lang=apl inline>f</source> | <syntaxhighlight lang=apl inline>g</source> | <syntaxhighlight lang=apl inline>mg</source> | <syntaxhighlight lang=apl inline>mg mg</source> | Under | |
<syntaxhighlight lang=apl inline>¨</source> | <syntaxhighlight lang=apl inline>m</source> | <syntaxhighlight lang=apl inline>g</source> | <syntaxhighlight lang=apl inline>mg</source> | With (Bind) | ||
<syntaxhighlight lang=apl inline>¨</source> | <syntaxhighlight lang=apl inline>f</source> | <syntaxhighlight lang=apl inline>n</source> | <syntaxhighlight lang=apl inline>mf</source> | |||
<syntaxhighlight lang=apl inline>.</source> | <syntaxhighlight lang=apl inline>f</source> | <syntaxhighlight lang=apl inline>g</source> | <syntaxhighlight lang=apl inline>2</source> | <syntaxhighlight lang=apl inline>∞ ∞</source> | Alternant | Inner-product |
<syntaxhighlight lang=apl inline>.</source> | <syntaxhighlight lang=apl inline>m</source> | <syntaxhighlight lang=apl inline>g</source> | <syntaxhighlight lang=apl inline>∞ ∞</source> | Tie, Outer-product | ||
<syntaxhighlight lang=apl inline>.</source> | <syntaxhighlight lang=apl inline>f</source> | <syntaxhighlight lang=apl inline>m</source> | <syntaxhighlight lang=apl inline>mf</source> | Ply |
APL dialects [edit] | |
---|---|
Maintained | APL+Win ∙ APL2 ∙ APL64 ∙ APL\iv ∙ Aplette ∙ April ∙ Co-dfns ∙ Dyalog APL ∙ Dyalog APL Vision ∙ dzaima/APL ∙ GNU APL ∙ Kap ∙ NARS2000 ∙ Pometo ∙ TinyAPL |
Historical | A Programming Language ∙ A+ (A) ∙ APL# ∙ APL2C ∙ APL\360 ∙ APL/700 ∙ APL\1130 ∙ APL\3000 ∙ APL.68000 ∙ APL*PLUS ∙ APL.jl ∙ APL.SV ∙ APLX ∙ Extended Dyalog APL ∙ Iverson notation ∙ IVSYS/7090 ∙ NARS ∙ ngn/apl ∙ openAPL ∙ Operators and Functions ∙ PAT ∙ Rowan ∙ SAX ∙ SHARP APL ∙ Rationalized APL ∙ VisualAPL (APLNext) ∙ VS APL ∙ York APL |
Derivatives | AHPL ∙ BQN ∙ CoSy ∙ ELI ∙ Glee ∙ I ∙ Ivy ∙ J ∙ Jelly ∙ K (Goal, Klong, Q) ∙ KamilaLisp ∙ Lang5 ∙ Lil ∙ Nial ∙ RAD ∙ Uiua |
Overviews | Comparison of APL dialects ∙ Timeline of array languages ∙ Timeline of influential array languages ∙ Family tree of array languages |