APLX: Difference between revisions
Miraheze>Marshall mNo edit summary |
Miraheze>Adám Brudzewsky No edit summary |
||
Line 17: | Line 17: | ||
| 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 = [[APL2]] | | influenced by = [[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. | ||
APLX is intended for uses such as financial planning, market research, statistics, management information, and various kinds of scientific and engineering work. APLX is based on [[IBM]]'s [[APL2]], but includes several extensions | APLX is intended for uses such as financial planning, market research, statistics, management information, and various kinds of scientific and engineering work. APLX is based on [[IBM]]'s [[APL2]], but includes several extensions. It is available on Microsoft Windows, Linux, and macOS. Though APLX keeps APL's extended character set, APLX is a bit more verbose, due to the prevalence of system functions with long names, and the use of structured-control keywords. The use of explicit loops is a major deviation from earlier APL versions and derivatives. | ||
Effective July 11, 2016, MicroAPL withdrew APLX from commercial sale. British firm [[Dyalog]], authors of [[Dyalog APL]], began hosting the APLX Archive website including the download area and documentation. | Effective July 11, 2016, MicroAPL withdrew APLX from commercial sale. British firm [[Dyalog Ltd.]], authors of [[Dyalog APL]], began hosting the APLX Archive website including the download area and documentation. | ||
== Primitives == | == Primitives == | ||
Line 32: | Line 32: | ||
! Glyph !! Monadic !! Dyadic | ! Glyph !! Monadic !! Dyadic | ||
|- | |- | ||
| < | | <source lang=apl inline>+</source> || [[Conjugate]] || [[Add]] | ||
|- | |- | ||
| < | | <source lang=apl inline>-</source> || [[Negate]] || [[Subtract]] | ||
|- | |- | ||
| < | | <source lang=apl inline>×</source> || [[Sign of]] || [[Multiply]] | ||
|- | |- | ||
| < | | <source lang=apl inline>÷</source> || [[Reciprocal]] || [[Divide]] | ||
|- | |- | ||
| < | | <source lang=apl inline>⌈</source> || [[Ceiling]] || [[Maximum|Greater of]] | ||
|- | |- | ||
| < | | <source lang=apl inline>⌊</source> || [[Floor]] || [[Minimum|Lesser of]] | ||
|- | |- | ||
| < | | <source lang=apl inline><nowiki>|</nowiki></source> || [[Absolute value]] || [[Residue]] | ||
|- | |- | ||
| < | | <source lang=apl inline>⍳</source> || [[Iota|Index list]] || [[Index of]] | ||
|- | |- | ||
| < | | <source lang=apl inline>?</source> || [[Roll]] || [[Deal]] | ||
|-⌹ | |-⌹ | ||
| < | | <source lang=apl inline>*</source> || [[Exponential]] || [[Power function|To the power of]] | ||
|- | |- | ||
| < | | <source lang=apl inline>⍟</source> || [[Natural log]] || [[Logarithm|Log to the base]] | ||
|- | |- | ||
| < | | <source lang=apl inline>○</source> || [[Pi times]] || [[Circle function|Circular and Hyperbolic functions]] | ||
|- | |- | ||
| < | | <source lang=apl inline>!</source> || [[Factorial]] || [[Binomial]] | ||
|- | |- | ||
| < | | <source lang=apl inline>⌹</source> || [[Matrix inverse]] || [[Matrix divide]] | ||
|- | |- | ||
| < | | <source lang=apl inline><</source> || || [[Less than]] | ||
|- | |- | ||
| < | | <source lang=apl inline>≤</source> || || [[Less than or equal]] | ||
|- | |- | ||
| < | | <source lang=apl inline>=</source> || || [[Equal]] | ||
|- | |- | ||
| < | | <source lang=apl inline>≥</source> || || [[Greater than or equal]] | ||
|- | |- | ||
| < | | <source lang=apl inline>></source> || || [[Greater than]] | ||
|- | |- | ||
| < | | <source lang=apl inline>≠</source> || || [[Not equal]] | ||
|- | |- | ||
| < | | <source lang=apl inline>≡</source> || [[Depth]] || [[Match]] | ||
|- | |- | ||
| < | | <source lang=apl inline>≢</source> || || [[Not Match]] | ||
|- | |- | ||
| < | | <source lang=apl inline>∊</source> || [[Enlist]] || [[Membership]] | ||
|- | |- | ||
| < | | <source lang=apl inline>⍷</source> || || [[Find]] | ||
|- | |- | ||
| < | | <source lang=apl inline>∪</source> || [[Unique]] || [[Union]] | ||
|- | |- | ||
| < | | <source lang=apl inline>∩</source> || || [[Intersection]] | ||
|- | |- | ||
| < | | <source lang=apl inline>~</source> || [[Not]] || [[Without]] | ||
|- | |- | ||
| < | | <source lang=apl inline>∨</source> || || [[Or]] | ||
|-⌹ | |-⌹ | ||
| < | | <source lang=apl inline>^</source> || || [[And]] | ||
|- | |- | ||
| < | | <source lang=apl inline>⍱</source> || || [[Nor]] | ||
|- | |- | ||
| < | | <source lang=apl inline>⍲</source> || || [[Nand]] | ||
|- | |- | ||
| < | | <source lang=apl inline>⍴</source> || [[Shape|Shape of]] || [[Reshape]] | ||
|- | |- | ||
| < | | <source lang=apl inline>,</source> || [[Ravel]] || [[Catenate|Catenate, Laminate]] | ||
|-⌹ | |-⌹ | ||
| < | | <source lang=apl inline>⍪</source> || || [[Catenate First|1st axis catenate]] | ||
|- | |- | ||
| < | | <source lang=apl inline>⌽</source> || [[Reverse]] || [[Rotate]] | ||
|- | |- | ||
| < | | <source lang=apl inline>⊖</source> || [[Reverse First]] || [[Rotate First|1st axis rotate]] | ||
|- | |- | ||
| < | | <source lang=apl inline>⍉</source> ||colspan=2| [[Transpose]] | ||
|- | |- | ||
| < | | <source lang=apl inline>↑</source> || [[First]] || [[Take]] | ||
|- | |- | ||
| < | | <source lang=apl inline>↓</source> || || [[Drop]] | ||
|- | |- | ||
| < | | <source lang=apl inline>⊂</source> || [[Enclose]] || [[Partition]] | ||
|- | |- | ||
| < | | <source lang=apl inline>⊃</source> || Disclose ([[Mix]]) || [[Pick]] | ||
|- | |- | ||
| < | | <source lang=apl inline>⌷</source> || || [[Squad Index|Index]] | ||
|- | |- | ||
| < | | <source lang=apl inline>⍋</source> ||colspan=2| [[Grade up]] | ||
|- | |- | ||
| < | | <source lang=apl inline>⍒</source> ||colspan=2| [[Grade down]] | ||
|- | |- | ||
| < | | <source lang=apl inline>⊤</source> || || [[Encode]] | ||
|- | |- | ||
| < | | <source lang=apl inline>⊥</source> || || [[Decode]] | ||
|- | |- | ||
| < | | <source lang=apl inline>⍺</source> || || Picture format | ||
|- | |- | ||
| < | | <source lang=apl inline>⍕</source> || [[Format]] || [[Dyadic format|Format]] by specification or by example | ||
|- | |- | ||
| < | | <source lang=apl inline>⍎</source> || || [[Execute]] | ||
|- | |- | ||
| < | | <source lang=apl inline>⊣</source> || [[Stop]] || [[Left Identity|Left]] | ||
|- | |- | ||
| < | | <source lang=apl inline>⊢</source> || [[Identity|Pass]] || [[Right Identity|Right]] | ||
|- | |- | ||
| < | | <source lang=apl inline>/</source> || || [[Compress]], [[Replicate]] | ||
|- | |- | ||
| < | | <source lang=apl inline>⌿</source> || || [[Replicate First|1st axis compress/replicate]] | ||
|- | |- | ||
| < | | <source lang=apl inline>\</source> || || [[Expand]] | ||
|- | |- | ||
| < | | <source lang=apl inline>⍀</source> || || [[Expand First|1st axis expand]] | ||
|} | |} | ||
Line 148: | Line 148: | ||
! Glyph !! Valence !! Monadic call !! Dyadic call | ! Glyph !! Valence !! Monadic call !! Dyadic call | ||
|- | |- | ||
| < | | <source lang=apl inline>/</source> || Monadic || [[Reduce]] || [[N-wise Reduce]] | ||
|- | |- | ||
| < | | <source lang=apl inline>⌿</source> || Monadic || [[Reduce First|1st axis reduce]] || [[N-wise Reduce first]] | ||
|- | |- | ||
| < | | <source lang=apl inline>\</source> || Monadic || [[Scan]] || | ||
|- | |- | ||
| < | | <source lang=apl inline>⍀</source> || Monadic || [[Scan First|1st axis scan]] || | ||
|- | |- | ||
| < | | <source lang=apl inline>.</source> || Dyadic || || [[Inner product]] | ||
|- | |- | ||
| < | | <source lang=apl inline>∘.</source> || Monadic || || [[Outer product]] | ||
|- | |- | ||
| < | | <source lang=apl inline>¨</source> || Monadic ||colspan=2| [[Each]] | ||
|} | |} | ||
== External links == | == External links == | ||
* [http://www.dyalog.com/aplx.htm | * [http://www.dyalog.com/aplx.htm APLX Archive] | ||
* [https://dyalog.github.io/aplx/ Tools to help migrate from APLX to Dyalog APL] | * [https://dyalog.github.io/aplx/ Tools to help migrate from APLX to Dyalog APL] | ||
{{APL programming language}} | {{APL programming language}} |
Revision as of 17:47, 30 October 2019
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 is intended for uses such as financial planning, market research, statistics, management information, and various kinds of scientific and engineering work. APLX is based on IBM's APL2, but includes several extensions. It is available on Microsoft Windows, Linux, and macOS. Though APLX keeps APL's extended character set, APLX is a bit more verbose, due to the prevalence of system functions with long names, and the use of structured-control keywords. The use of explicit loops is a major deviation from earlier APL versions and derivatives.
Effective July 11, 2016, MicroAPL withdrew APLX from commercial sale. British firm Dyalog Ltd., authors of Dyalog APL, began hosting the APLX Archive website including the download area and documentation.
Primitives
Functions
Glyph | Monadic | Dyadic |
---|---|---|
+ |
Conjugate | Add |
- |
Negate | Subtract |
× |
Sign of | Multiply |
÷ |
Reciprocal | Divide |
⌈ |
Ceiling | Greater of |
⌊ |
Floor | Lesser of |
<nowiki>|</nowiki> |
Absolute value | Residue |
⍳ |
Index list | Index of |
? |
Roll | Deal |
* |
Exponential | To the power of |
⍟ |
Natural log | Log to the base |
○ |
Pi times | Circular and Hyperbolic functions |
! |
Factorial | Binomial |
⌹ |
Matrix inverse | Matrix divide |
< |
Less than | |
≤ |
Less than or equal | |
= |
Equal | |
≥ |
Greater than or equal | |
> |
Greater than | |
≠ |
Not equal | |
≡ |
Depth | Match |
≢ |
Not Match | |
∊ |
Enlist | Membership |
⍷ |
Find | |
∪ |
Unique | Union |
∩ |
Intersection | |
~ |
Not | Without |
∨ |
Or | |
^ |
And | |
⍱ |
Nor | |
⍲ |
Nand | |
⍴ |
Shape of | Reshape |
, |
Ravel | Catenate, Laminate |
⍪ |
1st axis catenate | |
⌽ |
Reverse | Rotate |
⊖ |
Reverse First | 1st axis rotate |
⍉ |
Transpose | |
↑ |
First | Take |
↓ |
Drop | |
⊂ |
Enclose | Partition |
⊃ |
Disclose (Mix) | Pick |
⌷ |
Index | |
⍋ |
Grade up | |
⍒ |
Grade down | |
⊤ |
Encode | |
⊥ |
Decode | |
⍺ |
Picture format | |
⍕ |
Format | Format by specification or by example |
⍎ |
Execute | |
⊣ |
Stop | Left |
⊢ |
Pass | Right |
/ |
Compress, Replicate | |
⌿ |
1st axis compress/replicate | |
\ |
Expand | |
⍀ |
1st axis expand |
Operators
Glyph | Valence | Monadic call | Dyadic call |
---|---|---|---|
/ |
Monadic | Reduce | N-wise Reduce |
⌿ |
Monadic | 1st axis reduce | N-wise Reduce first |
\ |
Monadic | Scan | |
⍀ |
Monadic | 1st axis scan | |
. |
Dyadic | Inner product | |
∘. |
Monadic | Outer product | |
¨ |
Monadic | Each |