SAX

From APL Wiki
Revision as of 21:14, 10 September 2022 by Adám Brudzewsky (talk | contribs) (Text replacement - "<source" to "<syntaxhighlight")
Jump to navigation Jump to search

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+WinAPL2APL64APL\ivApletteAprilCo-dfnsDyalog APLDyalog APL Visiondzaima/APLGNU APLKapNARS2000PometoTinyAPL
Historical A Programming LanguageA+ (A) ∙ APL#APL2CAPL\360APL/700APL\1130APL\3000APL.68000APL*PLUSAPL.jlAPL.SVAPLXExtended Dyalog APLIverson notationIVSYS/7090NARSngn/aplopenAPLOperators and FunctionsPATRowanSAXSHARP APLRationalized APLVisualAPL (APLNext) ∙ VS APLYork APL
Derivatives AHPLBQNCoSyELIGleeIIvyJJellyK (Goal, Klong, Q) ∙ KamilaLispLang5LilNialRADUiua
Overviews Comparison of APL dialectsTimeline of array languagesTimeline of influential array languagesFamily tree of array languages