APLX: Difference between revisions
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...") |
(→Functions: Put component file operations in the primitives table) |
||
(33 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 | ||
| logo = [[File:APLX logo.png]] | |||
| 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/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 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 | |||
|- | |||
| <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> || [[Mix|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> || File read || scal || File read or rename || scal | |||
|- | |||
| <syntaxhighlight lang=apl inline>⍈</syntaxhighlight> || || || File write || scal | |||
|- | |||
| <syntaxhighlight lang=apl inline>⍐</syntaxhighlight> || File hold || scal || File hold || scal | |||
|- | |||
| <syntaxhighlight lang=apl inline>⍗</syntaxhighlight> || File drop || scal || File drop || scal | |||
|- | |||
| <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 | |||
|} | |||
The component file operations <syntaxhighlight lang=apl inline>⍇⍈⍐⍗</syntaxhighlight> were taken from or inspired by [[APL/700]]. | |||
=== Operators === | |||
{| class=wikitable | |||
! 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]] | |||
|} | |||
== 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]] |
Latest revision as of 13:25, 13 February 2024
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
The component file operations ⍇⍈⍐⍗
were taken from or inspired by APL/700.
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 |
External links
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 |