4,509
edits
m (Text replacement - "Category:APL dialects" to "Category:APL dialectsCategory:Nested array languages") |
m (Text replacement - "</source>" to "</syntaxhighlight>") Tags: Mobile edit Mobile web edit |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Infobox array language | {{Infobox array language | ||
| logo = [[File:APLX logo.png]] | |||
| array model = [[nested array model|nested]] | | array model = [[nested array model|nested]] | ||
| index origin = 0 or 1 | | index origin = 0 or 1 | ||
| function styles = [[ | | function styles = [[Defined function|defined]] | ||
| numeric types = floats | | numeric types = floats | ||
| unicode support = no | | unicode support = no | ||
Line 18: | Line 19: | ||
| file ext = .aws | | file ext = .aws | ||
| documentation = [http://www.dyalog.com/aplx.htm#APLXDocs APLX Documentation] | | documentation = [http://www.dyalog.com/aplx.htm#APLXDocs APLX Documentation] | ||
| influenced by = [[APL.68000]], [[APL2]] | | influenced by = [[APL/700]], [[APL.68000]], [[APL2]] | ||
}} | }} | ||
'''APLX''' was a cross-platform dialect of the programming language APL, created by British company [[MicroAPL Ltd.]], as a successor to their [[APL.68000]] product. | '''APLX''' was a cross-platform dialect of the programming language APL, created by British company [[MicroAPL Ltd.]], as a successor to their [[APL.68000]] product. | ||
Line 33: | Line 34: | ||
! Glyph !! Monadic !! Axis !! Dyadic !! Axis | ! Glyph !! Monadic !! Axis !! Dyadic !! Axis | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>+</syntaxhighlight> || [[Conjugate]] || || [[Add]] || vec | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>-</syntaxhighlight> || [[Negate]] || || [[Subtract]] || vec | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>×</syntaxhighlight> || [[Sign of]] || || [[Multiply]] || vec | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>÷</syntaxhighlight> || [[Reciprocal]] || || [[Divide]] || vec | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⌈</syntaxhighlight> || [[Ceiling]] || || [[Maximum|Greater of]] || vec | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⌊</syntaxhighlight> || [[Floor]] || || [[Minimum|Lesser of]] || vec | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>|</syntaxhighlight> || [[Absolute value]] || || [[Residue]] || vec | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍳</syntaxhighlight> || [[Index list]] || || [[Index of]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>?</syntaxhighlight> || [[Roll]] || || [[Deal]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>*</syntaxhighlight> || [[Exponential]] || || [[Power function|To the power of]] || vec | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍟</syntaxhighlight> || [[Natural log]] || || [[Logarithm|Log to the base]] || vec | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>○</syntaxhighlight> || [[Pi times]] || || [[Circle function|Circular and Hyperbolic functions]] || vec | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>!</syntaxhighlight> || [[Factorial]] || || [[Binomial]] || vec | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⌹</syntaxhighlight> || [[Matrix inverse]] || || [[Matrix divide]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline><</syntaxhighlight> || || || [[Less than]] || vec | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>≤</syntaxhighlight> || || || [[Less than or equal]] || vec | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>=</syntaxhighlight> || || || [[Equal]] || vec | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>≥</syntaxhighlight> || || || [[Greater than or equal]] || vec | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>></syntaxhighlight> || || || [[Greater than]] || vec | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>≠</syntaxhighlight> || || || [[Not equal]] || vec | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>≡</syntaxhighlight> || [[Depth]] || || [[Match]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>≢</syntaxhighlight> || || || [[Not Match]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>∊</syntaxhighlight> || [[Enlist]] || || [[Membership]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍷</syntaxhighlight> || || || [[Find]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>∪</syntaxhighlight> || [[Unique]] || || [[Union]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>∩</syntaxhighlight> || || || [[Intersection]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>~</syntaxhighlight> || [[Not]] || || [[Without]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>∨</syntaxhighlight> || || || [[Or]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>^</syntaxhighlight> || || || [[And]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍱</syntaxhighlight> || || || [[Nor]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍲</syntaxhighlight> || || || [[Nand]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍴</syntaxhighlight> || [[Shape|Shape of]] || || [[Reshape]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>,</syntaxhighlight> || [[Ravel]] || vec,frac || [[Catenate|Catenate, Laminate]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍪</syntaxhighlight> || || || [[Catenate First|1st axis catenate]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⌽</syntaxhighlight> || [[Reverse]] || scal || [[Rotate]] || scal | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⊖</syntaxhighlight> || [[Reverse First]] || scal || [[Rotate First|1st axis rotate]] || scal | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍉</syntaxhighlight> ||colspan=4| [[Transpose]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>↑</syntaxhighlight> || [[First]] || || [[Take]] || vec | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>↓</syntaxhighlight> || || || [[Drop]] || vec | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⊂</syntaxhighlight> || [[Enclose]] || vec || [[Partition]] || scal | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⊃</syntaxhighlight> || [[Disclose]] || vec || [[Pick]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⌷</syntaxhighlight> || || || [[Squad Index|Index]] || vec | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍋</syntaxhighlight> ||colspan=4| [[Grade up]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍒</syntaxhighlight> ||colspan=4| [[Grade down]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⊤</syntaxhighlight> || || || [[Encode]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⊥</syntaxhighlight> || || || [[Decode]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍺</syntaxhighlight> || || || Picture format || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍕</syntaxhighlight> || [[Format]] || || [[Dyadic format|Format]] by specification or by example || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍎</syntaxhighlight> || || || [[Execute]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⊣</syntaxhighlight> || [[Stop]] || || [[Left Identity|Left]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⊢</syntaxhighlight> || [[Identity|Pass]] || || [[Right Identity|Right]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>/</syntaxhighlight> || || || [[Compress]], [[Replicate]] || scal | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⌿</syntaxhighlight> || || || [[Replicate First|1st axis compress/replicate]] || scal | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>\</syntaxhighlight> || || || [[Expand]] || scal | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍀</syntaxhighlight> || || || [[Expand First|1st axis expand]] || scal | ||
|} | |} | ||
In addition, a few primitives for component file operations were taken from or inspired by [[APL/700]]. | |||
=== Operators === | === Operators === | ||
Line 149: | Line 152: | ||
! Glyph !! Valence !! Monadic call !! Dyadic call | ! Glyph !! Valence !! Monadic call !! Dyadic call | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>/</syntaxhighlight> || Monadic || [[Reduce]] || [[N-wise Reduce]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⌿</syntaxhighlight> || Monadic || [[Reduce First|1st axis reduce]] || [[N-wise Reduce first]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>\</syntaxhighlight> || Monadic || [[Scan]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍀</syntaxhighlight> || Monadic || [[Scan First|1st axis scan]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>.</syntaxhighlight> || Dyadic || || [[Inner product]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>∘.</syntaxhighlight> || Monadic || || [[Outer product]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>¨</syntaxhighlight> || Monadic ||colspan=2| [[Each]] | ||
|} | |} | ||