2,951
edits
Miraheze>Adám Brudzewsky (Created page with "APLX was a cross-platform dialect of the programming language APL, created by British company MicroAPL, as a successor to their APL.68000 product. APLX is intended fo...") |
|||
(27 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
APLX was a cross-platform dialect of the programming language APL, created by British company [[MicroAPL]], as a successor to their [[APL.68000]] product. | {{Infobox array language | ||
| array model = [[nested array model|nested]] | |||
| index origin = 0 or 1 | |||
| function styles = [[Defined function|defined]] | |||
| numeric types = floats | |||
| unicode support = no | |||
| released = 2002 | |||
| withdrawn = 2016 | |||
| developer = [[MicroAPL Ltd.]] | |||
| latest release version = 5.1 / 2016 | |||
| implementation languages = [[wikipedia:C_(programming_language)|C]], [[wikipedia:C++|C++]] | |||
| platforms = x86 | |||
| operating systems = Windows, Linux, macOS High Sierra and earlier | |||
| license = Free / Proprietary software | |||
| 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] | |||
| file ext = .aws | |||
| documentation = [http://www.dyalog.com/aplx.htm#APLXDocs APLX Documentation] | |||
| 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 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. | ||
{{APL | == Primitives == | ||
=== Functions === | |||
{| class=wikitable | |||
! Glyph !! Monadic !! Axis !! Dyadic !! Axis | |||
|- | |||
| <source lang=apl inline>+</source> || [[Conjugate]] || || [[Add]] || vec | |||
|- | |||
| <source lang=apl inline>-</source> || [[Negate]] || || [[Subtract]] || vec | |||
|- | |||
| <source lang=apl inline>×</source> || [[Sign of]] || || [[Multiply]] || vec | |||
|- | |||
| <source lang=apl inline>÷</source> || [[Reciprocal]] || || [[Divide]] || vec | |||
|- | |||
| <source lang=apl inline>⌈</source> || [[Ceiling]] || || [[Maximum|Greater of]] || vec | |||
|- | |||
| <source lang=apl inline>⌊</source> || [[Floor]] || || [[Minimum|Lesser of]] || vec | |||
|- | |||
| <source lang=apl inline>|</source> || [[Absolute value]] || || [[Residue]] || vec | |||
|- | |||
| <source lang=apl inline>⍳</source> || [[Index list]] || || [[Index of]] || | |||
|- | |||
| <source lang=apl inline>?</source> || [[Roll]] || || [[Deal]] || | |||
|- | |||
| <source lang=apl inline>*</source> || [[Exponential]] || || [[Power function|To the power of]] || vec | |||
|- | |||
| <source lang=apl inline>⍟</source> || [[Natural log]] || || [[Logarithm|Log to the base]] || vec | |||
|- | |||
| <source lang=apl inline>○</source> || [[Pi times]] || || [[Circle function|Circular and Hyperbolic functions]] || vec | |||
|- | |||
| <source lang=apl inline>!</source> || [[Factorial]] || || [[Binomial]] || vec | |||
|- | |||
| <source lang=apl inline>⌹</source> || [[Matrix inverse]] || || [[Matrix divide]] || | |||
|- | |||
| <source lang=apl inline><</source> || || || [[Less than]] || vec | |||
|- | |||
| <source lang=apl inline>≤</source> || || || [[Less than or equal]] || vec | |||
|- | |||
| <source lang=apl inline>=</source> || || || [[Equal]] || vec | |||
|- | |||
| <source lang=apl inline>≥</source> || || || [[Greater than or equal]] || vec | |||
|- | |||
| <source lang=apl inline>></source> || || || [[Greater than]] || vec | |||
|- | |||
| <source lang=apl inline>≠</source> || || || [[Not equal]] || vec | |||
|- | |||
| <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]] || vec,frac || [[Catenate|Catenate, Laminate]] || | |||
|- | |||
| <source lang=apl inline>⍪</source> || || || [[Catenate First|1st axis catenate]] || | |||
|- | |||
| <source lang=apl inline>⌽</source> || [[Reverse]] || scal || [[Rotate]] || scal | |||
|- | |||
| <source lang=apl inline>⊖</source> || [[Reverse First]] || scal || [[Rotate First|1st axis rotate]] || scal | |||
|- | |||
| <source lang=apl inline>⍉</source> ||colspan=4| [[Transpose]] | |||
|- | |||
| <source lang=apl inline>↑</source> || [[First]] || || [[Take]] || vec | |||
|- | |||
| <source lang=apl inline>↓</source> || || || [[Drop]] || vec | |||
|- | |||
| <source lang=apl inline>⊂</source> || [[Enclose]] || vec || [[Partition]] || scal | |||
|- | |||
| <source lang=apl inline>⊃</source> || [[Disclose]] || vec || [[Pick]] || | |||
|- | |||
| <source lang=apl inline>⌷</source> || || || [[Squad Index|Index]] || vec | |||
|- | |||
| <source lang=apl inline>⍋</source> ||colspan=4| [[Grade up]] | |||
|- | |||
| <source lang=apl inline>⍒</source> ||colspan=4| [[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]] || scal | |||
|- | |||
| <source lang=apl inline>⌿</source> || || || [[Replicate First|1st axis compress/replicate]] || scal | |||
|- | |||
| <source lang=apl inline>\</source> || || || [[Expand]] || scal | |||
|- | |||
| <source lang=apl inline>⍀</source> || || || [[Expand First|1st axis expand]] || scal | |||
|} | |||
=== Operators === | |||
{| class=wikitable | |||
! 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 == | |||
* [http://www.dyalog.com/aplx.htm APLX Archive] | |||
* [https://dyalog.github.io/aplx/ Tools to help migrate from APLX to Dyalog APL] | |||
{{APL dialects}}[[Category:APL dialects]][[Category:Nested array languages]] |