SAX: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
(Update introduction with better understanding of history, and what actually changed in SAX)
(Replacing legacy website link to York University Computer Museum with the current one.)
 
Line 20: Line 20:
| file ext                = .sw, .sf
| file ext                = .sw, .sf
}}
}}
'''SAX''' ('''S'''HARP '''A'''PL for UNI'''X''') was a version of [[SHARP APL]]. Developed and sold initially by [[IPSA]], it was later offered by [[Soliton Associates]], and eventually became the last active SHARP product. SAX supported most but not all features of the previous SHARP implementation for IBM platforms, with [[complex number]]s being a significant exception. It also included more features from [[A Dictionary of APL]] such as [[Swap]] (<syntaxhighlight lang=apl inline>⊃</syntaxhighlight>) and [[From]] (<syntaxhighlight lang=apl inline>{</syntaxhighlight>).<ref>[[Soliton Associates]]. "Platform Differences". 1993-06. Held in [http://www.cse.yorku.ca/museum/collections/IPSA/ipsa_col.html York University IPSA collection].</ref>
'''SAX''' ('''S'''HARP '''A'''PL for UNI'''X''') was a version of [[SHARP APL]]. Developed and sold initially by [[IPSA]], it was later offered by [[Soliton Associates]], and eventually became the last active SHARP product. SAX supported most but not all features of the previous SHARP implementation for IBM platforms, with [[complex number]]s being a significant exception. It also included more features from [[A Dictionary of APL]] such as [[Swap]] (<syntaxhighlight lang=apl inline>⊃</syntaxhighlight>) and [[From]] (<syntaxhighlight lang=apl inline>{</syntaxhighlight>).<ref>[[Soliton Associates]]. "Platform Differences". 1993-06. Held in [https://museum.eecs.yorku.ca/collections/show/15 York University IPSA collection].</ref>


== Primitive functions ==
== Primitive functions ==

Latest revision as of 03:23, 11 May 2024

SAX (SHARP APL for UNIX) was a version of SHARP APL. Developed and sold initially by IPSA, it was later offered by Soliton Associates, and eventually became the last active SHARP product. SAX supported most but not all features of the previous SHARP implementation for IBM platforms, with complex numbers being a significant exception. It also included more features from A Dictionary of APL such as Swap () and From ({).[1]

Primitive functions

Arithmetic

Scalar

All scalar functions have rank zero.

Glyph Monadic Dyadic
+ 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

Glyph Rank Monadic Ranks Dyadic
2 Matrix inverse ∞ 2 Matrix divide
? See Scalar * * Deal
∞ ∞ Encode
∞ ∞ Decode

Relational

Glyph Rank Monadic Ranks Dyadic
= 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

Glyph Rank Monadic Ranks Dyadic
@ See Miscellaneous 0 ∞ From
1 Count 1 0 Index Of
∞ ∞ Index
Numeric Grade up ∞ ∞ Character Grade up
Numeric Grade down ∞ ∞ Character Grade down

Structural

Glyph Rank Monadic Ranks Dyadic
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

Glyph Rank Monadic Ranks Dyadic
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

Glyph Operands Ranks Monadic Call Dyadic Call
/ 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

References

  1. Soliton Associates. "Platform Differences". 1993-06. Held in York University IPSA collection.
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