APLX: Difference between revisions

Jump to navigation Jump to search
1,334 bytes added ,  22:25, 10 September 2022
m
Text replacement - "</source>" to "</syntaxhighlight>"
Miraheze>Marshall
m (Text replacement - "</source>" to "</syntaxhighlight>")
Tags: Mobile edit Mobile web edit
(16 intermediate revisions by 5 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          = [[tradfn]]
| function styles          = [[Defined function|defined]]
| numeric types            = floats
| numeric types            = floats
| unicode support          = no
| unicode support          = no
Line 9: Line 10:
| developer                = [[MicroAPL Ltd.]]
| developer                = [[MicroAPL Ltd.]]
| latest release version  = 5.1 / 2016
| latest release version  = 5.1 / 2016
| implementation languages = [https://en.wikipedia.org/wiki/C_(programming_language) C], [https://en.wikipedia.org/wiki/C%2B%2B C++]
| implementation languages = [[wikipedia:C_(programming_language)|C]], [[wikipedia:C++|C++]]
| platforms                = x86, x86_64
| platforms                = x86
| operating systems        = Windows, Linux, macOS
| operating systems        = Windows, Linux, macOS High Sierra and earlier
| license                  = Free / Proprietary software
| license                  = Free / Proprietary software
| website                  = [http://microapl.com/apl/ microapl.com/apl]
| website                  = [http://microapl.com/apl/ microapl.com/apl]
| forum                    = [https://www.tapatalk.com/groups/microapl/ Support forum for APLX]
| download                = [http://www.dyalog.com/aplx.htm dyalog.com/aplx.htm]
| download                = [http://www.dyalog.com/aplx.htm dyalog.com/aplx.htm]
| 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 32: Line 34:
! Glyph                              !! Monadic              !! Axis !! Dyadic                                !! Axis
! Glyph                              !! Monadic              !! Axis !! Dyadic                                !! Axis
|-
|-
| <source lang=apl inline>+</source> || [[Conjugate]]        ||      || [[Add]]                              || vec
| <syntaxhighlight lang=apl inline>+</syntaxhighlight> || [[Conjugate]]        ||      || [[Add]]                              || vec
|-
|-
| <source lang=apl inline>-</source> || [[Negate]]            ||      || [[Subtract]]                          || vec
| <syntaxhighlight lang=apl inline>-</syntaxhighlight> || [[Negate]]            ||      || [[Subtract]]                          || vec
|-
|-
| <source lang=apl inline>×</source> || [[Sign of]]          ||      || [[Multiply]]                          || vec
| <syntaxhighlight lang=apl inline>×</syntaxhighlight> || [[Sign of]]          ||      || [[Multiply]]                          || vec
|-
|-
| <source lang=apl inline>÷</source> || [[Reciprocal]]        ||      || [[Divide]]                            || vec
| <syntaxhighlight lang=apl inline>÷</syntaxhighlight> || [[Reciprocal]]        ||      || [[Divide]]                            || vec
|-
|-
| <source lang=apl inline>⌈</source> || [[Ceiling]]          ||      || [[Maximum|Greater of]]                || vec
| <syntaxhighlight lang=apl inline>⌈</syntaxhighlight> || [[Ceiling]]          ||      || [[Maximum|Greater of]]                || vec
|-
|-
| <source lang=apl inline>⌊</source> || [[Floor]]            ||      || [[Minimum|Lesser of]]                || vec
| <syntaxhighlight lang=apl inline>⌊</syntaxhighlight> || [[Floor]]            ||      || [[Minimum|Lesser of]]                || vec
|-
|-
| <source lang=apl inline>|</source> || [[Absolute value]]    ||      || [[Residue]]                          || vec
| <syntaxhighlight lang=apl inline>|</syntaxhighlight> || [[Absolute value]]    ||      || [[Residue]]                          || vec
|-
|-
| <source lang=apl inline>⍳</source> || [[Iota|Index list]]   ||      || [[Index of]]                          || vec
| <syntaxhighlight lang=apl inline>⍳</syntaxhighlight> || [[Index list]]       ||      || [[Index of]]                          ||
|-
|-
| <source lang=apl inline>?</source> || [[Roll]]              ||      || [[Deal]]                              || vec
| <syntaxhighlight lang=apl inline>?</syntaxhighlight> || [[Roll]]              ||      || [[Deal]]                              ||
|-
|-
| <source lang=apl inline>*</source> || [[Exponential]]      ||      || [[Power function|To the power of]]    || vec
| <syntaxhighlight lang=apl inline>*</syntaxhighlight> || [[Exponential]]      ||      || [[Power function|To the power of]]    || vec
|-
|-
| <source lang=apl inline>⍟</source> || [[Natural log]]      ||      || [[Logarithm|Log to the base]]        || vec
| <syntaxhighlight lang=apl inline>⍟</syntaxhighlight> || [[Natural log]]      ||      || [[Logarithm|Log to the base]]        || vec
|-
|-
| <source lang=apl inline>○</source> || [[Pi times]]          ||      || [[Circle function|Circular and Hyperbolic functions]] || vec
| <syntaxhighlight lang=apl inline>○</syntaxhighlight> || [[Pi times]]          ||      || [[Circle function|Circular and Hyperbolic functions]] || vec
|-
|-
| <source lang=apl inline>!</source> || [[Factorial]]        ||      || [[Binomial]]                          || vec
| <syntaxhighlight lang=apl inline>!</syntaxhighlight> || [[Factorial]]        ||      || [[Binomial]]                          || vec
|-
|-
| <source lang=apl inline>⌹</source> || [[Matrix inverse]]    ||      || [[Matrix divide]]                    || vec
| <syntaxhighlight lang=apl inline>⌹</syntaxhighlight> || [[Matrix inverse]]    ||      || [[Matrix divide]]                    ||
|-
|-
| <source lang=apl inline><</source> ||                      ||      || [[Less than]]                        || vec
| <syntaxhighlight lang=apl inline><</syntaxhighlight> ||                      ||      || [[Less than]]                        || vec
|-
|-
| <source lang=apl inline>≤</source> ||                      ||      || [[Less than or equal]]                || vec
| <syntaxhighlight lang=apl inline>≤</syntaxhighlight> ||                      ||      || [[Less than or equal]]                || vec
|-
|-
| <source lang=apl inline>=</source> ||                      ||      || [[Equal]]                            || vec
| <syntaxhighlight lang=apl inline>=</syntaxhighlight> ||                      ||      || [[Equal]]                            || vec
|-
|-
| <source lang=apl inline>≥</source> ||                      ||      || [[Greater than or equal]]            || vec
| <syntaxhighlight lang=apl inline>≥</syntaxhighlight> ||                      ||      || [[Greater than or equal]]            || vec
|-
|-
| <source lang=apl inline>></source> ||                      ||      || [[Greater than]]                      || vec
| <syntaxhighlight lang=apl inline>></syntaxhighlight> ||                      ||      || [[Greater than]]                      || vec
|-
|-
| <source lang=apl inline>≠</source> ||                      ||      || [[Not equal]]                        || vec
| <syntaxhighlight lang=apl inline>≠</syntaxhighlight> ||                      ||      || [[Not equal]]                        || vec
|-
|-
| <source lang=apl inline>≡</source> || [[Depth]]            ||      || [[Match]]                            ||
| <syntaxhighlight lang=apl inline>≡</syntaxhighlight> || [[Depth]]            ||      || [[Match]]                            ||
|-
|-
| <source lang=apl inline>≢</source> ||                      ||      || [[Not Match]]                        ||
| <syntaxhighlight lang=apl inline>≢</syntaxhighlight> ||                      ||      || [[Not Match]]                        ||
|-
|-
| <source lang=apl inline>∊</source> || [[Enlist]]            ||      || [[Membership]]                        ||
| <syntaxhighlight lang=apl inline>∊</syntaxhighlight> || [[Enlist]]            ||      || [[Membership]]                        ||
|-
|-
| <source lang=apl inline>⍷</source> ||                      ||      || [[Find]]                              ||
| <syntaxhighlight lang=apl inline>⍷</syntaxhighlight> ||                      ||      || [[Find]]                              ||
|-
|-
| <source lang=apl inline>∪</source> || [[Unique]]            ||      || [[Union]]                            ||
| <syntaxhighlight lang=apl inline>∪</syntaxhighlight> || [[Unique]]            ||      || [[Union]]                            ||
|-
|-
| <source lang=apl inline>∩</source> ||                      ||      || [[Intersection]]                      ||
| <syntaxhighlight lang=apl inline>∩</syntaxhighlight> ||                      ||      || [[Intersection]]                      ||
|-
|-
| <source lang=apl inline>~</source> || [[Not]]              ||      || [[Without]]                          ||
| <syntaxhighlight lang=apl inline>~</syntaxhighlight> || [[Not]]              ||      || [[Without]]                          ||
|-
|-
| <source lang=apl inline>∨</source> ||                      ||      || [[Or]]                                ||
| <syntaxhighlight lang=apl inline>∨</syntaxhighlight> ||                      ||      || [[Or]]                                ||
|-
|-
| <source lang=apl inline>^</source> ||                      ||      || [[And]]                              ||
| <syntaxhighlight lang=apl inline>^</syntaxhighlight> ||                      ||      || [[And]]                              ||
|-
|-
| <source lang=apl inline>⍱</source> ||                      ||      || [[Nor]]                              ||
| <syntaxhighlight lang=apl inline>⍱</syntaxhighlight> ||                      ||      || [[Nor]]                              ||
|-
|-
| <source lang=apl inline>⍲</source> ||                      ||      || [[Nand]]                              ||
| <syntaxhighlight lang=apl inline>⍲</syntaxhighlight> ||                      ||      || [[Nand]]                              ||
|-
|-
| <source lang=apl inline>⍴</source> || [[Shape|Shape of]]    ||      || [[Reshape]]                          ||
| <syntaxhighlight lang=apl inline>⍴</syntaxhighlight> || [[Shape|Shape of]]    ||      || [[Reshape]]                          ||
|-
|-
| <source lang=apl inline>,</source> || [[Ravel]]        || vec,frac || [[Catenate|Catenate, Laminate]]      ||
| <syntaxhighlight lang=apl inline>,</syntaxhighlight> || [[Ravel]]        || vec,frac || [[Catenate|Catenate, Laminate]]      ||
|-
|-
| <source lang=apl inline>⍪</source> ||                      ||      || [[Catenate First|1st axis catenate]]  ||
| <syntaxhighlight lang=apl inline>⍪</syntaxhighlight> ||                      ||      || [[Catenate First|1st axis catenate]]  ||
|-
|-
| <source lang=apl inline>⌽</source> || [[Reverse]]          || scal || [[Rotate]]                            || scal
| <syntaxhighlight lang=apl inline>⌽</syntaxhighlight> || [[Reverse]]          || scal || [[Rotate]]                            || scal
|-
|-
| <source lang=apl inline>⊖</source> || [[Reverse First]]    || scal || [[Rotate First|1st axis rotate]]      || scal
| <syntaxhighlight lang=apl inline>⊖</syntaxhighlight> || [[Reverse First]]    || scal || [[Rotate First|1st axis rotate]]      || scal
|-
|-
| <source lang=apl inline>⍉</source> ||colspan=4 style="text-align:center"| [[Transpose]]
| <syntaxhighlight lang=apl inline>⍉</syntaxhighlight> ||colspan=4| [[Transpose]]
|-
|-
| <source lang=apl inline>↑</source> || [[First]]            ||      || [[Take]]                              || vec
| <syntaxhighlight lang=apl inline>↑</syntaxhighlight> || [[First]]            ||      || [[Take]]                              || vec
|-
|-
| <source lang=apl inline>↓</source> ||                      ||      || [[Drop]]                              || vec
| <syntaxhighlight lang=apl inline>↓</syntaxhighlight> ||                      ||      || [[Drop]]                              || vec
|-
|-
| <source lang=apl inline>⊂</source> || [[Enclose]]          || vec  || [[Partition]]                        || scal
| <syntaxhighlight lang=apl inline>⊂</syntaxhighlight> || [[Enclose]]          || vec  || [[Partition]]                        || scal
|-
|-
| <source lang=apl inline>⊃</source> || Disclose ([[Mix]])    || vec  || [[Pick]]                              ||
| <syntaxhighlight lang=apl inline>⊃</syntaxhighlight> || [[Disclose]]         || vec  || [[Pick]]                              ||
|-
|-
| <source lang=apl inline>⌷</source> ||                      ||      || [[Squad Index|Index]]                || vec
| <syntaxhighlight lang=apl inline>⌷</syntaxhighlight> ||                      ||      || [[Squad Index|Index]]                || vec
|-
|-
| <source lang=apl inline>⍋</source> ||colspan=4 style="text-align:center"| [[Grade up]]
| <syntaxhighlight lang=apl inline>⍋</syntaxhighlight> ||colspan=4| [[Grade up]]
|-
|-
| <source lang=apl inline>⍒</source> ||colspan=4 style="text-align:center"| [[Grade down]]
| <syntaxhighlight lang=apl inline>⍒</syntaxhighlight> ||colspan=4| [[Grade down]]
|-
|-
| <source lang=apl inline>⊤</source> ||                      ||      || [[Encode]]                            ||
| <syntaxhighlight lang=apl inline>⊤</syntaxhighlight> ||                      ||      || [[Encode]]                            ||
|-
|-
| <source lang=apl inline>⊥</source> ||                      ||      || [[Decode]]                            ||
| <syntaxhighlight lang=apl inline>⊥</syntaxhighlight> ||                      ||      || [[Decode]]                            ||
|-
|-
| <source lang=apl inline>⍺</source> ||                      ||      || Picture format                        ||
| <syntaxhighlight lang=apl inline>⍺</syntaxhighlight> ||                      ||      || Picture format                        ||
|-
|-
| <source lang=apl inline>⍕</source> || [[Format]]            ||      || [[Dyadic format|Format]] by specification or by example ||
| <syntaxhighlight lang=apl inline>⍕</syntaxhighlight> || [[Format]]            ||      || [[Dyadic format|Format]] by specification or by example ||
|-
|-
| <source lang=apl inline>⍎</source> ||                      ||      || [[Execute]]                          ||
| <syntaxhighlight lang=apl inline>⍎</syntaxhighlight> ||                      ||      || [[Execute]]                          ||
|-
|-
| <source lang=apl inline>⊣</source> || [[Stop]]              ||      || [[Left Identity|Left]]                ||
| <syntaxhighlight lang=apl inline>⊣</syntaxhighlight> || [[Stop]]              ||      || [[Left Identity|Left]]                ||
|-
|-
| <source lang=apl inline>⊢</source> || [[Identity|Pass]]    ||      || [[Right Identity|Right]]              ||
| <syntaxhighlight lang=apl inline>⊢</syntaxhighlight> || [[Identity|Pass]]    ||      || [[Right Identity|Right]]              ||
|-
|-
| <source lang=apl inline>/</source> ||                      ||      || [[Compress]], [[Replicate]]          || scal
| <syntaxhighlight lang=apl inline>/</syntaxhighlight> ||                      ||      || [[Compress]], [[Replicate]]          || scal
|-
|-
| <source lang=apl inline>⌿</source> ||                      ||      || [[Replicate First|1st axis compress/replicate]] || scal
| <syntaxhighlight lang=apl inline>⌿</syntaxhighlight> ||                      ||      || [[Replicate First|1st axis compress/replicate]] || scal
|-
|-
| <source lang=apl inline>\</source> ||                      ||      || [[Expand]]                            || scal
| <syntaxhighlight lang=apl inline>\</syntaxhighlight> ||                      ||      || [[Expand]]                            || scal
|-
|-
| <source lang=apl inline>⍀</source> ||                      ||      || [[Expand First|1st axis 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 148: Line 152:
! Glyph          !! Valence !! Monadic call                    !! Dyadic call
! Glyph          !! Valence !! Monadic call                    !! Dyadic call
|-
|-
| <source lang=apl inline>/</source>  || Monadic || [[Reduce]]                      || [[N-wise Reduce]]
| <syntaxhighlight lang=apl inline>/</syntaxhighlight>  || Monadic || [[Reduce]]                      || [[N-wise Reduce]]
|-
|-
| <source lang=apl inline>⌿</source>  || Monadic || [[Reduce First|1st axis reduce]] || [[N-wise Reduce first]]
| <syntaxhighlight lang=apl inline>⌿</syntaxhighlight>  || Monadic || [[Reduce First|1st axis reduce]] || [[N-wise Reduce first]]
|-
|-
| <source lang=apl inline>\</source>  || Monadic || [[Scan]]                        ||
| <syntaxhighlight lang=apl inline>\</syntaxhighlight>  || Monadic || [[Scan]]                        ||
|-
|-
| <source lang=apl inline>⍀</source>  || Monadic || [[Scan First|1st axis scan]]    ||
| <syntaxhighlight lang=apl inline>⍀</syntaxhighlight>  || Monadic || [[Scan First|1st axis scan]]    ||
|-
|-
| <source lang=apl inline>.</source>  || Dyadic  ||                                  || [[Inner product]]
| <syntaxhighlight lang=apl inline>.</syntaxhighlight>  || Dyadic  ||                                  || [[Inner product]]
|-
|-
| <source lang=apl inline>∘.</source> || Monadic ||                                  || [[Outer product]]
| <syntaxhighlight lang=apl inline>∘.</syntaxhighlight> || Monadic ||                                  || [[Outer product]]
|-
|-
| <source lang=apl inline>¨</source>  || Monadic ||colspan=2| [[Each]]
| <syntaxhighlight lang=apl inline>¨</syntaxhighlight>  || Monadic ||colspan=2| [[Each]]
|}
|}


Line 168: Line 172:
* [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 dialects}}[[Category:APL dialects]][[Category:Nested array languages]]

Navigation menu