# Difference between revisions of "SAX"

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.

`+` Conjugate/Identity Addition
`-` Negate Subtraction
`×` Signum Multiplication
`÷` Reciprocal Division
`*` Exponential Power
`⍟` Natural Logarithm Base-⍺ Logarithm
`|` Magnitude Residue
`!` Factorial Out-Of/Combinations
`⌊` Floor Minimum
`⌈` Ceiling Maximum
`○` Pi Times Circle functions
`∧` And/Least Common Multiple (LCM)
`∨` Or/Greatest Common Divisor (GCD)
`⍲` Nand
`⍱` Nor
`~` Not See Miscellaneous
`?` Roll See Non-scalar

#### Non-scalar

`⌹` 2 Matrix inverse ∞ 2 Matrix divide
`?` See Scalar * * Deal
`⊤` ∞ ∞ Encode
`⊥` ∞ ∞ Decode

### Relational

`=` See Miscellaneous 0 0 Equals
`≠` See Miscellaneous 0 0 Not Equals
`<` See Structural 0 0 Less Than
`≤` 0 0 Less Than or Equal
`≥` 0 0 Greater Than or Equal
`>` See Structural 0 0 Greater Than
`≡` ∞ ∞ Match
`∊` 0 ∞ Membership
`⍷` ∞ ∞ Find

### Indexing

`@` See Miscellaneous 0 ∞ From
`⍳` 1 Count 1 0 Index Of
`⍸` ∞ ∞ Index
`⍋` Numeric Grade up ∞ ∞ Character Grade up
`⍒` Numeric Grade down ∞ ∞ Character Grade down

### Structural

`⍴` Shape of 1 ∞ Reshape
`↑` See Miscellaneous 1 ∞ Take
`↓` Raze 1 ∞ Drop
`<` Enclose/Box See Relational
`⊃` Conditional Enclose ∞ ∞ Link
`>` 0 Disclose/Open See Relational
`,` Ravel ∞ ∞ Catenate
`⍪` Table ∞ ∞ Catenate-Down
`⌽` 1 Reverse 0 1 Rotate
`⊖` Reverse-Down ∞ ∞ Rotate-Down
`⍉` Monadic Transpose 0 ∞ Dyadic Transpose

### Miscellaneous

`⊣` Stop ∞ ∞ Left
`⊢` Pass ∞ ∞ Right
`≠` Nubsieve See Relational
`↑` Nub See Structural
`=` Nubin See Relational
`~` See Scalar ∞ ∞ Less
`@` 1 All See Indexing
`⍕` Monadic Format * ∞ Dyadic Format
`⍎` * Execute

## Primitive Operators

`/` `f` `∞` Reduce
`⌿` `f` `∞` Reduce-down
`\` `f` `∞` Scan
`⍀` `f` `∞` Scan-down
`/` `m` `∞` Copy/Compress
`⌿` `m` `∞` Copy-down/Compress-down
`\` `m` `∞` Expand
`⍀` `m` `∞` Expand-down
`⊂` `f` `∞` `rf lf` Swap
`&` `f` `∞` `∞ ∞` Select
`⍤` `f` `g` `mg` `mg mg` On (close Over)
`⍤` `f` `n` `n` `n n` Rank
`⍤` `m` `g` `mg` `mg mg` Cut
`⍥` `f` `g` `mg` `mg mg` Upon (close Atop)
`¨` `f` `g` `mg` `mg mg` Under
`¨` `m` `g` `mg` With (Bind)
`¨` `f` `n` `mf`
`.` `f` `g` `2` `∞ ∞` Alternant Inner-product
`.` `m` `g` `∞ ∞` Tie, Outer-product
`.` `f` `m` `mf` Ply

APL dialects 
Maintained APL+WinAPL2APL64APL\ivApletteAprilCo-dfnsDyalog APLdzaima/APLExtended Dyalog APLGNU APLKAPNARS2000Pometo
Historical Iverson notationA Programming LanguageA+ (A) ∙ APL#APL\360APL/700APL\1130APL\3000APL.68000APL*PLUSAPL.jlAPL.SVAPLXIVSYS/7090NARSngn/aplopenAPLPATRowanSAXSHARP APLVisualAPL (APLNext) ∙ VS APLYork APL
Derivatives AHPLBQNCoSyELIGleeIIvyJJellyJellyfishK (Q, KDB+) ∙ NialRADRemoraQube
Overviews Timeline of array languagesTimeline of influential array languagesFamily tree of array languages