SAX: Difference between revisions
Jump to navigation
Jump to search
(Pretty sure the only APL*PLUS influence comes by way of SHARP...) |
(Replacing legacy website link to York University Computer Museum with the current one.) |
||
(12 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Infobox array language | {{Infobox array language | ||
| logo = [[File:Sharp APL logo.png]] | |||
| array model = [[Flat array model|flat]] with [[Box|boxes]] | | array model = [[Flat array model|flat]] with [[Box|boxes]] | ||
| index origin = 0 or 1 | | index origin = 0 or 1 | ||
Line 7: | Line 8: | ||
| released = 1993 | | released = 1993 | ||
| withdrawn = around 2017 | | withdrawn = around 2017 | ||
| latest release | | latest release version = 6.0 / 2000 | ||
| platforms = S/390, x86 | | platforms = S/390, x86 | ||
| operating systems = UNIX (AIX, Solaris), Linux | | operating systems = UNIX (AIX, Solaris), Linux | ||
| implementation language = [[wikipedia:C (programming language)|C]] | |||
| license = Free for personal use / Proprietary commercial software | | license = Free for personal use / Proprietary commercial software | ||
| download = [https://github.com/abrudz/sax GitHub] | |||
| developer = [[Soliton Associates]] | | developer = [[Soliton Associates]] | ||
| influenced by = [[SHARP APL]] | | influenced by = [[SHARP APL]] | ||
| influenced = [[ | | influenced = [[J]] | ||
| documentation = [https://abrudz.github.io/SAX2/SAX61.pdf PDF] | | documentation = [https://abrudz.github.io/SAX2/SAX61.pdf PDF] | ||
| file ext = .sw, .sf | | file ext = .sw, .sf | ||
}} | }} | ||
'''SAX''' ('''S'''HARP '''A'''PL for UNI'''X''') was a version of [[SHARP APL]] offered by [[Soliton Associates]]. | '''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 == | ||
Line 30: | Line 33: | ||
! Glyph !! Monadic !! Dyadic | ! Glyph !! Monadic !! Dyadic | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>+</syntaxhighlight> || [[Conjugate]]/Identity || [[Addition]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>-</syntaxhighlight> || [[Negate]] || [[Subtraction]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>×</syntaxhighlight> || [[Signum]] || [[Multiplication]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>÷</syntaxhighlight> || [[Reciprocal]] || [[Division]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>*</syntaxhighlight> || [[Exponential]] || [[Power function|Power]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍟</syntaxhighlight> || [[Natural Logarithm]] || [[Logarithm|Base-⍺ Logarithm]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>|</syntaxhighlight> || [[Magnitude]] || [[Residue]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>!</syntaxhighlight> || [[Factorial]] || Out-Of/[[Combinations]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⌊</syntaxhighlight> || [[Floor]] || [[Minimum]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⌈</syntaxhighlight> || [[Ceiling]] || [[Maximum]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>○</syntaxhighlight> || [[Pi Times]] || [[Circle functions]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>∧</syntaxhighlight> || || [[And]]/Least Common Multiple (LCM) | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>∨</syntaxhighlight> || || [[Or]]/Greatest Common Divisor (GCD) | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍲</syntaxhighlight> || || [[Nand]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍱</syntaxhighlight> || || [[Nor]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>~</syntaxhighlight> || [[Not]] || See [[#Miscellaneous|Miscellaneous]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>?</syntaxhighlight> || [[Roll]] || See [[#Non-Scalar|Non-scalar]] | ||
|} | |} | ||
Line 70: | Line 73: | ||
! Glyph !! Rank !! Monadic !! Ranks !! Dyadic | ! Glyph !! Rank !! Monadic !! Ranks !! Dyadic | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⌹</syntaxhighlight> || 2 || [[Matrix inverse]] || ∞ 2 || [[Matrix divide]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>?</syntaxhighlight> || || See [[#Scalar|Scalar]] || * * || [[Deal]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⊤</syntaxhighlight> || || || ∞ ∞ || [[Encode]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⊥</syntaxhighlight> || || || ∞ ∞ || [[Decode]] | ||
|} | |} | ||
Line 84: | Line 87: | ||
! Glyph !! Rank !! Monadic !! Ranks !! Dyadic | ! Glyph !! Rank !! Monadic !! Ranks !! Dyadic | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>=</syntaxhighlight> || || See [[#Miscellaneous|Miscellaneous]] || 0 0 || [[Equals]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>≠</syntaxhighlight> || || See [[#Miscellaneous|Miscellaneous]] || 0 0 || [[Not Equals]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline><</syntaxhighlight> || || See [[#Structural|Structural]] || 0 0 || [[Less Than]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>≤</syntaxhighlight> || || || 0 0 || [[Less Than or Equal]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>≥</syntaxhighlight> || || || 0 0 || [[Greater Than or Equal]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>></syntaxhighlight> || || See [[#Structural|Structural]] || 0 0 || [[Greater Than]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>≡</syntaxhighlight> || || || ∞ ∞ || [[Match]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>∊</syntaxhighlight> || || || 0 ∞ || [[Membership]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍷</syntaxhighlight> || || || ∞ ∞ || [[Find]] | ||
|} | |} | ||
Line 108: | Line 111: | ||
! Glyph !! Rank !! Monadic !! Ranks !! Dyadic | ! Glyph !! Rank !! Monadic !! Ranks !! Dyadic | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>@</syntaxhighlight> || || See [[#Miscellaneous|Miscellaneous]] || 0 ∞ || [[Squad Index|From]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍳</syntaxhighlight> || 1 || [[Index Generator|Count]] || 1 0 || [[Index Of]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍸</syntaxhighlight> || || || ∞ ∞ || [[Indices of Match|Index]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍋</syntaxhighlight> || ∞ || Numeric [[Grade up]] || ∞ ∞ || Character [[Grade up]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍒</syntaxhighlight> || ∞ || Numeric [[Grade down]] || ∞ ∞ || Character [[Grade down]] | ||
|} | |} | ||
Line 124: | Line 127: | ||
! Glyph !! Rank !! Monadic !! Ranks !! Dyadic | ! Glyph !! Rank !! Monadic !! Ranks !! Dyadic | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍴</syntaxhighlight> || ∞ || [[Shape|Shape of]] || 1 ∞ || [[Reshape]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>↑</syntaxhighlight> || || See [[#Miscellaneous|Miscellaneous]] || 1 ∞ || [[Take]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>↓</syntaxhighlight> || ∞ || [[Raze]] || 1 ∞ || [[Drop]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline><</syntaxhighlight> || ∞ || [[Enclose]]/Box || || See [[#Relational|Relational]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⊃</syntaxhighlight> || ∞ || [[Enclose if simple|Conditional Enclose]] || ∞ ∞ || [[Link]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>></syntaxhighlight> || 0 || [[Mix|Disclose]]/Open || || See [[#Relational|Relational]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>,</syntaxhighlight> || ∞ || [[Ravel]] || ∞ ∞ || [[Catenate]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍪</syntaxhighlight> || ∞ || [[Table]] || ∞ ∞ || [[Catenate First|Catenate-Down]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⌽</syntaxhighlight> || 1 || [[Reverse]] || 0 1 || [[Rotate]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⊖</syntaxhighlight> || ∞ || [[Reverse First|Reverse-Down]] || ∞ ∞ || [[Rotate First|Rotate-Down]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍉</syntaxhighlight> || ∞ || Monadic [[Transpose]] || 0 ∞ || Dyadic [[Transpose]] | ||
|} | |} | ||
Line 152: | Line 155: | ||
! Glyph !! Rank !! Monadic !! Ranks !! Dyadic | ! Glyph !! Rank !! Monadic !! Ranks !! Dyadic | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⊣</syntaxhighlight> || ∞ || [[Stop]] || ∞ ∞ || [[Left Identity|Left]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⊢</syntaxhighlight> || ∞ || [[Identity|Pass]] || ∞ ∞ || [[Right Identity|Right]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>≠</syntaxhighlight> || ∞ || [[Nubsieve]] || || See [[#Relational|Relational]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>↑</syntaxhighlight> || ∞ || [[Nub]] || || See [[#Structural|Structural]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>=</syntaxhighlight> || ∞ || [[Nubin]] || || See [[#Relational|Relational]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>~</syntaxhighlight> || || See [[#Scalar|Scalar]] || ∞ ∞ || [[Without|Less]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>@</syntaxhighlight> || 1 || [[Cartesian Product|All]] || || See [[#Indexing|Indexing]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍕</syntaxhighlight> || ∞ || [[Monadic Format]] || * ∞ || [[Dyadic Format]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍎</syntaxhighlight> || * || [[Execute]] || || | ||
|} | |} | ||
Line 176: | Line 179: | ||
! Glyph !!colspan=2|Operands !!colspan=2|Ranks !! Monadic Call !! Dyadic Call | ! Glyph !!colspan=2|Operands !!colspan=2|Ranks !! Monadic Call !! Dyadic Call | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>/</syntaxhighlight> || || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight> || || [[Reduce]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⌿</syntaxhighlight> || || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight> || || [[Reduce First|Reduce-down]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>\</syntaxhighlight> || || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight> || || [[Scan]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍀</syntaxhighlight> || || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight> || || [[Scan First|Scan-down]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>/</syntaxhighlight> || || <syntaxhighlight lang=apl inline>m</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight> || || [[Replicate|Copy]]/[[Compress]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⌿</syntaxhighlight> || || <syntaxhighlight lang=apl inline>m</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight> || || [[Replicate|Copy]]-down/[[Compress]]-down || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>\</syntaxhighlight> || || <syntaxhighlight lang=apl inline>m</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight> || || [[Expand]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍀</syntaxhighlight> || || <syntaxhighlight lang=apl inline>m</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight> || || [[Expand First|Expand-down]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⊂</syntaxhighlight> || || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight> || <syntaxhighlight lang=apl inline>rf lf</syntaxhighlight> ||colspan=2| [[Swap]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>&</syntaxhighlight> || || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞ ∞</syntaxhighlight> ||colspan=2| Select | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍤</syntaxhighlight> || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>g</syntaxhighlight> || <syntaxhighlight lang=apl inline>mg</syntaxhighlight> || <syntaxhighlight lang=apl inline>mg mg</syntaxhighlight> ||colspan=2| On ([[close Over]]) | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍤</syntaxhighlight> || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>n</syntaxhighlight> || <syntaxhighlight lang=apl inline>n</syntaxhighlight> || <syntaxhighlight lang=apl inline>n n</syntaxhighlight> ||colspan=2| [[Rank operator|Rank]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍤</syntaxhighlight> || <syntaxhighlight lang=apl inline>m</syntaxhighlight> || <syntaxhighlight lang=apl inline>g</syntaxhighlight> || <syntaxhighlight lang=apl inline>mg</syntaxhighlight> || <syntaxhighlight lang=apl inline>mg mg</syntaxhighlight> ||colspan=2| [[Cut]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍥</syntaxhighlight> || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>g</syntaxhighlight> || <syntaxhighlight lang=apl inline>mg</syntaxhighlight> || <syntaxhighlight lang=apl inline>mg mg</syntaxhighlight> ||colspan=2| Upon ([[close Atop]]) | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>¨</syntaxhighlight> || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>g</syntaxhighlight> || <syntaxhighlight lang=apl inline>mg</syntaxhighlight> || <syntaxhighlight lang=apl inline>mg mg</syntaxhighlight> ||colspan=2| [[close Under|Under]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>¨</syntaxhighlight> || <syntaxhighlight lang=apl inline>m</syntaxhighlight> || <syntaxhighlight lang=apl inline>g</syntaxhighlight> || <syntaxhighlight lang=apl inline>mg</syntaxhighlight> || ||rowspan="2"|With ([[Bind]]) || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>¨</syntaxhighlight> || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>n</syntaxhighlight> || <syntaxhighlight lang=apl inline>mf</syntaxhighlight> || || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>.</syntaxhighlight> || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>g</syntaxhighlight> || <syntaxhighlight lang=apl inline>2</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞ ∞</syntaxhighlight> || [[Alternant]] || [[Inner Product|Inner-product]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>.</syntaxhighlight> || <syntaxhighlight lang=apl inline>m</syntaxhighlight> || <syntaxhighlight lang=apl inline>g</syntaxhighlight> || || <syntaxhighlight lang=apl inline>∞ ∞</syntaxhighlight> || || [[Tie]], [[Outer Product|Outer-product]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>.</syntaxhighlight> || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>m</syntaxhighlight> || <syntaxhighlight lang=apl inline>mf</syntaxhighlight> || || [[Ply]] || | ||
|} | |} | ||
== References == | |||
<references/> | |||
{{APL dialects}}[[Category:APL dialects]][[Category:Flat array languages]][[Category:Leading axis languages]] | {{APL dialects}}[[Category:APL dialects]][[Category:Flat array languages]][[Category:Leading axis languages]] |
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
- ↑ Soliton Associates. "Platform Differences". 1993-06. Held in York University IPSA collection.
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 |