# APLX

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

`+` Conjugate Add vec
`-` Negate Subtract vec
`×` Sign of Multiply vec
`÷` Reciprocal Divide vec
`⌈` Ceiling Greater of vec
`⌊` Floor Lesser of vec
`|` Absolute value Residue vec
`⍳` Index list Index of
`?` Roll Deal
`*` Exponential To the power of vec
`⍟` Natural log Log to the base vec
`○` Pi times Circular and Hyperbolic functions vec
`!` Factorial Binomial vec
`⌹` Matrix inverse Matrix divide
`<` Less than vec
`≤` Less than or equal vec
`=` Equal vec
`≥` Greater than or equal vec
`>` Greater than vec
`≠` Not equal vec
`≡` Depth Match
`≢` Not Match
`∊` Enlist Membership
`⍷` Find
`∪` Unique Union
`∩` Intersection
`~` Not Without
`∨` Or
`^` And
`⍱` Nor
`⍲` Nand
`⍴` Shape of Reshape
`,` Ravel vec,frac Catenate, Laminate
`⍪` 1st axis catenate
`⌽` Reverse scal Rotate scal
`⊖` Reverse First scal 1st axis rotate scal
`⍉` Transpose
`↑` First Take vec
`↓` Drop vec
`⊂` Enclose vec Partition scal
`⊃` Disclose vec Pick
`⌷` Index vec
`⍋` Grade up
`⍒` Grade down
`⊤` Encode
`⊥` Decode
`⍺` Picture format
`⍕` Format Format by specification or by example
`⍎` Execute
`⍇` File read scal File read or rename scal
`⍈` File write scal
`⍐` File hold scal File hold scal
`⍗` File drop scal File drop scal
`⊣` Stop Left
`⊢` Pass Right
`/` Compress, Replicate scal
`⌿` 1st axis compress/replicate scal
`\` Expand scal
`⍀` 1st axis expand scal

The component file operations `⍇⍈⍐⍗` were taken from or inspired by APL/700.

### Operators

`/` 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