Extended Dyalog APL: Difference between revisions
Piotr.Czapla (talk | contribs) (Add note explaining that the Extended Dyalog is archived and cannot be easily used in Dyalog APL.) |
(source & platform) |
||
(7 intermediate revisions by the same user not shown) | |||
Line 10: | Line 10: | ||
| developer = [[Adám Brudzewsky]] | | developer = [[Adám Brudzewsky]] | ||
| implementation language = [[Dyalog APL]] | | implementation language = [[Dyalog APL]] | ||
| source = [https://github.com/abrudz/dyalog-apl-extended GitHub] | |||
| platforms = [[Dyalog APL]] | |||
| documentation = [https://github.com/abrudz/dyalog-apl-extended/blob/master/README.md README] | | documentation = [https://github.com/abrudz/dyalog-apl-extended/blob/master/README.md README] | ||
| license = [[wikipedia:MIT License|MIT]] | | license = [[wikipedia:MIT License|MIT]] | ||
| influenced by = [[J]] | | influenced by = [[J]] | ||
| influenced = [[dzaima/APL]], [[BQN]] | | influenced = [[Dyalog APL]], [[dzaima/APL]], [[BQN]], [[Dyalog APL Vision]] | ||
| run online = [https://tio.run/#apl-dyalog-extended TIO] | | run online = [https://tio.run/#apl-dyalog-extended TIO] | ||
}} | }} | ||
'''Extended Dyalog APL''' features extended domains of existing | '''Extended Dyalog APL''' features extended domains of existing [[primitive]]s and [[quad name]]s and adds a few new ones to [[Dyalog APL]]. | ||
It was an experimental project that is no longer maintained. Quoting from project README.md: | It was an experimental project that is no longer maintained. Quoting from project README.md: | ||
<blockquote>This project serves as a breeding ground for ideas. While some have been adopted into Dyalog APL proper, it is unlikely that many will be. Furthermore, Dyalog 18.0 gave a different meaning to monadic <code>≠</code> than proposed here, leaving Extended Dyalog APL as a deadend.</blockquote> | |||
The role of Extended Dyalog APL as breeding ground for ideas was followed [[Dyalog APL Vision]], also by [[Adám Brudzewsky]]. | |||
== Influence == | |||
Many of the extensions have been adopted into [[dzaima/APL]], while Dyalog APL added [[Constant]] (<syntaxhighlight lang=apl inline>⍨</syntaxhighlight>) and introduced non-experimental [[Case Convert|case conversion]] as a <syntaxhighlight lang=apl inline>⎕C</syntaxhighlight> [[function]] rather than the proposed [[operator]]. Dyalog is also planning to add [[Reverse Compose]], [[From]], and [[Depth (operator)|Depth]]. | |||
'' | == Features == | ||
The following extensions were made: | |||
{| class=wikitable | |||
| Name || Glyph || Type* || Extension | |||
|- | |||
| Back Slash || <syntaxhighlight lang=apl inline>\</syntaxhighlight> || 🔶 || <syntaxhighlight lang=apl inline>∘.f</syntaxhighlight>when dyadic, allows short and/or multiple left args | |||
|- | |||
| Back Slash Bar || <syntaxhighlight lang=apl inline>⍀</syntaxhighlight> || 🔶 || <syntaxhighlight lang=apl inline>⊢∘f</syntaxhighlight>when dyadic, allows short and/or multiple left args | |||
|- | |||
| Bullet || <syntaxhighlight lang=apl inline>∙</syntaxhighlight> || 🔺 || Inner product and Alternant | |||
|- | |||
| Circle Diaeresis || <syntaxhighlight lang=apl inline>⍥</syntaxhighlight> || 🔺 || Over and Depth | |||
|- | |||
| Circle Jot || <syntaxhighlight lang=apl inline>⌾</syntaxhighlight> || 🔺 || Complex/Imaginary | |||
|- | |||
| Del Diaeresis || <syntaxhighlight lang=apl inline>⍢</syntaxhighlight> || 🔺 || Under (a.k.a. Dual) | |||
|- | |||
| Del Tilde || <syntaxhighlight lang=apl inline>⍫</syntaxhighlight> || 🔺 || Obverse;<syntaxhighlight lang=apl inline>⍺⍺</syntaxhighlight>but with inverse<syntaxhighlight lang=apl inline>⍵⍵</syntaxhighlight> | |||
|- | |||
| Diaeresis || <syntaxhighlight lang=apl inline>¨</syntaxhighlight> || 🔵 || allows constant operand | |||
|- | |||
| Divide || <syntaxhighlight lang=apl inline>÷</syntaxhighlight> || 🔵 || monadic converts letters to title case when possible | |||
|- | |||
| Dollar Sign || <syntaxhighlight lang=apl inline>$</syntaxhighlight> || 🔺 || string enhancement <code>${1}</code>:<syntaxhighlight lang=apl inline>1⊃⍺</syntaxhighlight>, <code>${expr}</code>:<syntaxhighlight lang=apl inline>⍎expr</syntaxhighlight>,<syntaxhighlight lang=apl inline>\n</syntaxhighlight>:JSON | |||
|- | |||
| Down Arrow || <syntaxhighlight lang=apl inline>↓</syntaxhighlight> || 🔵 || allows long<syntaxhighlight lang=apl inline>⍺</syntaxhighlight> | |||
|- | |||
| Down Shoe || <syntaxhighlight lang=apl inline>∪</syntaxhighlight> || 🔵 || allows rank>1 | |||
|- | |||
| Downstile || <syntaxhighlight lang=apl inline>⌊</syntaxhighlight> || 🔵 || monadic lowercases letters | |||
|- | |||
| Down Tack || <syntaxhighlight lang=apl inline>⊤</syntaxhighlight> || 🔶 || 2s as default left argument | |||
|- | |||
| Ellipsis || <syntaxhighlight lang=apl inline>…</syntaxhighlight> || 🔺 || fill sequence gaps ([[dfns workspace]]'s<syntaxhighlight lang=apl inline>to⍤1</syntaxhighlight> | |||
|- | |||
| Epsilon Underbar || <syntaxhighlight lang=apl inline>⍷</syntaxhighlight> || 🔶 || monadic is Type<syntaxhighlight lang=apl inline>∊</syntaxhighlight>with<syntaxhighlight lang=apl inline>⎕ML←0</syntaxhighlight> | |||
|- | |||
| Equals || <syntaxhighlight lang=apl inline>=</syntaxhighlight> || 🔶 || with [[TAO]]; monad: is-type | |||
|- | |||
| Greater Than || <syntaxhighlight lang=apl inline>></syntaxhighlight> || 🔶 || with TAO; monad: is-strictly-negative/is-visible | |||
|- | |||
| Greater Than Or Equal To || <syntaxhighlight lang=apl inline>≥</syntaxhighlight> || 🔶 || with TAO; monad: is non-positive/is-not-control-character | |||
|- | |||
| house || <syntaxhighlight lang=apl inline>⌂</syntaxhighlight> || 🔺 || prefix for contents of [[dfns workspace]] | |||
|- | |||
| infinity || <syntaxhighlight lang=apl inline>∞</syntaxhighlight> || 🔺 || largest integer (for use with<syntaxhighlight lang=apl inline>⍤</syntaxhighlight>and<syntaxhighlight lang=apl inline>⍣</syntaxhighlight>) | |||
|- | |||
| Iota || <syntaxhighlight lang=apl inline>⍳</syntaxhighlight> || 🔵 || Unicode version of [[dfns workspace]]'s <syntaxhighlight lang=apl inline>iotag</syntaxhighlight> | |||
|- | |||
| Iota Underbar || <syntaxhighlight lang=apl inline>⍸</syntaxhighlight> || 🔵 || allows duplicates/non-Booleans | |||
|- | |||
| Iota Underbar Inverse || <syntaxhighlight lang=apl inline>⍸⍣¯1</syntaxhighlight> || 🔵 || given<syntaxhighlight lang=apl inline>r</syntaxhighlight>, finds<syntaxhighlight lang=apl inline>n</syntaxhighlight>so that<syntaxhighlight lang=apl inline>r≡⍸n</syntaxhighlight> | |||
|- | |||
| Jot Diaeresis || <syntaxhighlight lang=apl inline>⍤</syntaxhighlight> || 🔵 || allows constant left operand, Atop with function right operand | |||
|- | |||
| Jot Underbar || <syntaxhighlight lang=apl inline>⍛</syntaxhighlight> || 🔺 || reverse composition<syntaxhighlight lang=apl inline>X f⍛g Y</syntaxhighlight>is<syntaxhighlight lang=apl inline>(f X) g Y</syntaxhighlight> | |||
|- | |||
| Left Shoe || <syntaxhighlight lang=apl inline>⊂</syntaxhighlight> || 🔵 || allows partitioning along multiple trailing axes, with short <syntaxhighlight lang=apl inline>⍺</syntaxhighlight>s, and inserting/appending empty partitions | |||
|- | |||
| Left Shoe Stile || <syntaxhighlight lang=apl inline>⍧</syntaxhighlight> || 🔺 || monad: nub-sieve; dyad: count-in | |||
|- | |||
| Left Shoe With Axis || <syntaxhighlight lang=apl inline>⊂[k]</syntaxhighlight> || 🔵 || as<syntaxhighlight lang=apl inline>⊂</syntaxhighlight>, but called with left operand | |||
|- | |||
| Less Than || <syntaxhighlight lang=apl inline><</syntaxhighlight> || 🔶 || with TAO; monad: is-strictly-positive/is-control-character | |||
|- | |||
| Less Than Or Equal To || <syntaxhighlight lang=apl inline>≤</syntaxhighlight> || 🔶 || with TAO ; monad: is-non-negative/is-invisible | |||
|- | |||
| Minus || <syntaxhighlight lang=apl inline>-</syntaxhighlight> || 🔵 || monadic flips letter case | |||
|- | |||
| macron || <syntaxhighlight lang=apl inline>¯</syntaxhighlight> || 🔵 || as prefix to name or primitive means its inverse | |||
|- | |||
| negative Infinity || <syntaxhighlight lang=apl inline>¯∞</syntaxhighlight> || 🔺 || smallest integer (for use with<syntaxhighlight lang=apl inline>⍣</syntaxhighlight>) | |||
|- | |||
| Nand || <syntaxhighlight lang=apl inline>⍲</syntaxhighlight> || 🔶 || monad: not all equal to type | |||
|- | |||
| Nor || <syntaxhighlight lang=apl inline>⍱</syntaxhighlight> || 🔶 || monad: not any equal to type | |||
|- | |||
| Not Equal To || <syntaxhighlight lang=apl inline>≠</syntaxhighlight> || 🔶 || with TAO; monad: is-non-type | |||
|- | |||
| Percent || <syntaxhighlight lang=apl inline>%</syntaxhighlight> || 🔺 || <syntaxhighlight lang=apl inline>f%</syntaxhighlight>and<syntaxhighlight lang=apl inline>A%</syntaxhighlight>: probability-logical function (mapping arrays) | |||
|- | |||
| Quad Diamond || <syntaxhighlight lang=apl inline>⌺</syntaxhighlight> || 🔶 || auto-extended<syntaxhighlight lang=apl inline>⍵⍵</syntaxhighlight>, allows small<syntaxhighlight lang=apl inline>⍵</syntaxhighlight>, optional edge spec(s) (0:Zero; 1:Repl; 2:Rev; 3:Mirror; 4:Wrap; -:Twist) with masks as operand's<syntaxhighlight lang=apl inline>⍺</syntaxhighlight> | |||
|- | |||
| Question Mark || <syntaxhighlight lang=apl inline>?</syntaxhighlight> || 🔵 || <syntaxhighlight lang=apl inline>⍺?¯⍵</syntaxhighlight>as norm dist stddev <syntaxhighlight lang=apl inline>⍵</syntaxhighlight>and optional mean<syntaxhighlight lang=apl inline>⍺←0</syntaxhighlight> | |||
|- | |||
| Rho || <syntaxhighlight lang=apl inline>⍴</syntaxhighlight> || 🔵 || allows omitting one dimension length with<syntaxhighlight lang=apl inline>¯1</syntaxhighlight> | |||
|- | |||
| Right Shoe Underbar || <syntaxhighlight lang=apl inline>⊇</syntaxhighlight> || 🔺 || monadic discloses if scalar, dyadic indexes sanely | |||
|- | |||
| Right Shoe Underbar With Axis || <syntaxhighlight lang=apl inline>⊇[k]</syntaxhighlight> || 🔺 || as above, but called with left operand | |||
|- | |||
| Root || <syntaxhighlight lang=apl inline>√</syntaxhighlight> || 🔺 || (Square) Root | |||
|- | |||
| Semicolon Underbar || <syntaxhighlight lang=apl inline>⍮</syntaxhighlight> || 🔺 || (Half) Pair; use<syntaxhighlight lang=apl inline>↑⍤⍮</syntaxhighlight>to add axis | |||
|- | |||
| Slash || <syntaxhighlight lang=apl inline>/</syntaxhighlight> || 🔵 || allows short and/or multiple left args | |||
|- | |||
| Slash Bar || <syntaxhighlight lang=apl inline>⌿</syntaxhighlight> || 🔵 || allows short and/or multiple left args | |||
|- | |||
| Star Diaeresis || <syntaxhighlight lang=apl inline>⍣</syntaxhighlight> || 🔵 || allows non-scalar right operand incl.<syntaxhighlight lang=apl inline>∞</syntaxhighlight>and<syntaxhighlight lang=apl inline>¯∞</syntaxhighlight>and array left operand | |||
|- | |||
| Stile || <syntaxhighlight lang=apl inline>|</syntaxhighlight> || 🔵 || monadic normalises letters to lowercase (upper then lower) | |||
|- | |||
| Stile Tilde || <syntaxhighlight lang=apl inline>⍭</syntaxhighlight> || 🔺 || monadic is factors; dyadic depends on<syntaxhighlight lang=apl inline>⍺</syntaxhighlight>: 0=non-prime?, 1=prime?, ¯1=primes less than<syntaxhighlight lang=apl inline>⍵</syntaxhighlight>, ¯2=<syntaxhighlight lang=apl inline>⍵</syntaxhighlight>th prime, 4=next prime, ¯4=prev prime | |||
|- | |||
| Tilde || <syntaxhighlight lang=apl inline>~</syntaxhighlight> || 🔵 || monadic allows probabilities, dyadic allows rank>1 | |||
|- | |||
| Tilde Diaeresis || <syntaxhighlight lang=apl inline>⍨</syntaxhighlight> || 🔵 || allows constant operand | |||
|- | |||
| Times || <syntaxhighlight lang=apl inline>×</syntaxhighlight> || 🔵 || set/query letter case (lower:<syntaxhighlight lang=apl inline>¯1</syntaxhighlight>, title:<syntaxhighlight lang=apl inline>0</syntaxhighlight>, upper:<syntaxhighlight lang=apl inline>1</syntaxhighlight>) | |||
|- | |||
| Up Arrow || <syntaxhighlight lang=apl inline>↑</syntaxhighlight> || 🔵 || allows long<syntaxhighlight lang=apl inline>⍺</syntaxhighlight> | |||
|- | |||
| Up Shoe || <syntaxhighlight lang=apl inline>∩</syntaxhighlight> || 🔶 || monadic is self-classify; dyadic allows rank>1 | |||
|- | |||
| Upstile || <syntaxhighlight lang=apl inline>⌈</syntaxhighlight> || 🔵 || monadic uppercases letters | |||
|- | |||
| Up Tack || <syntaxhighlight lang=apl inline>⊥</syntaxhighlight> || 🔶 || 2 as default left argument | |||
|- | |||
| Vel || <syntaxhighlight lang=apl inline>∨</syntaxhighlight> || 🔶 || monadic is Descending Sort | |||
|- | |||
| Wedge || <syntaxhighlight lang=apl inline>∧</syntaxhighlight> || 🔶 || monadic is Ascending Sort | |||
|- | |||
| Case Convert || <syntaxhighlight lang=apl inline>⎕C</syntaxhighlight> || 🔺 || <syntaxhighlight lang=apl inline>fn ⎕C</syntaxhighlight>applies case-insensitively,<syntaxhighlight lang=apl inline>array ⎕C</syntaxhighlight>case-folds | |||
|- | |||
| Error Message || <syntaxhighlight lang=apl inline>⎕EM</syntaxhighlight> || 🔺 || Self-inverse<syntaxhighlight lang=apl inline>⎕EM</syntaxhighlight> | |||
|- | |||
| Namespace || <syntaxhighlight lang=apl inline>⎕NS</syntaxhighlight> || 🔵 || allows<syntaxhighlight lang=apl inline>⎕NS names values</syntaxhighlight>(tries to resolve<syntaxhighlight lang=apl inline>⎕OR</syntaxhighlight>s) | |||
|- | |||
| Namespace inverse || <syntaxhighlight lang=apl inline>⎕NS⍣¯1</syntaxhighlight> || 🔺 || allows<syntaxhighlight lang=apl inline>(names values)←⎕NS⍣¯1⊢ns</syntaxhighlight>(returns<syntaxhighlight lang=apl inline>⎕OR</syntaxhighlight>s for ns/fns) | |||
|- | |||
| Unicode Convert || <syntaxhighlight lang=apl inline>⎕UCS</syntaxhighlight> || 🔵 || scalar when monadic | |||
|} | |||
<nowiki>*</nowiki> 🔺 means new feature 🔶 means added valence 🔵 means expanded domain | |||
{{APL dialects}}[[Category:APL dialects]][[Category:Nested array languages]][[Category:Leading axis languages]][[Category:Languages with tacit programming]] | {{APL dialects}}[[Category:APL dialects]][[Category:Nested array languages]][[Category:Leading axis languages]][[Category:Languages with tacit programming]] |
Latest revision as of 07:48, 21 April 2023
Extended Dyalog APL features extended domains of existing primitives and quad names and adds a few new ones to Dyalog APL. It was an experimental project that is no longer maintained. Quoting from project README.md:
This project serves as a breeding ground for ideas. While some have been adopted into Dyalog APL proper, it is unlikely that many will be. Furthermore, Dyalog 18.0 gave a different meaning to monadic
≠
than proposed here, leaving Extended Dyalog APL as a deadend.
The role of Extended Dyalog APL as breeding ground for ideas was followed Dyalog APL Vision, also by Adám Brudzewsky.
Influence
Many of the extensions have been adopted into dzaima/APL, while Dyalog APL added Constant (⍨
) and introduced non-experimental case conversion as a ⎕C
function rather than the proposed operator. Dyalog is also planning to add Reverse Compose, From, and Depth.
Features
The following extensions were made:
Name | Glyph | Type* | Extension |
Back Slash | \ |
🔶 | ∘.f when dyadic, allows short and/or multiple left args
|
Back Slash Bar | ⍀ |
🔶 | ⊢∘f when dyadic, allows short and/or multiple left args
|
Bullet | ∙ |
🔺 | Inner product and Alternant |
Circle Diaeresis | ⍥ |
🔺 | Over and Depth |
Circle Jot | ⌾ |
🔺 | Complex/Imaginary |
Del Diaeresis | ⍢ |
🔺 | Under (a.k.a. Dual) |
Del Tilde | ⍫ |
🔺 | Obverse;⍺⍺ but with inverse⍵⍵
|
Diaeresis | ¨ |
🔵 | allows constant operand |
Divide | ÷ |
🔵 | monadic converts letters to title case when possible |
Dollar Sign | $ |
🔺 | string enhancement ${1} :1⊃⍺ , ${expr} :⍎expr ,\n :JSON
|
Down Arrow | ↓ |
🔵 | allows long⍺
|
Down Shoe | ∪ |
🔵 | allows rank>1 |
Downstile | ⌊ |
🔵 | monadic lowercases letters |
Down Tack | ⊤ |
🔶 | 2s as default left argument |
Ellipsis | … |
🔺 | fill sequence gaps (dfns workspace'sto⍤1
|
Epsilon Underbar | ⍷ |
🔶 | monadic is Type∊ with⎕ML←0
|
Equals | = |
🔶 | with TAO; monad: is-type |
Greater Than | > |
🔶 | with TAO; monad: is-strictly-negative/is-visible |
Greater Than Or Equal To | ≥ |
🔶 | with TAO; monad: is non-positive/is-not-control-character |
house | ⌂ |
🔺 | prefix for contents of dfns workspace |
infinity | ∞ |
🔺 | largest integer (for use with⍤ and⍣ )
|
Iota | ⍳ |
🔵 | Unicode version of dfns workspace's iotag
|
Iota Underbar | ⍸ |
🔵 | allows duplicates/non-Booleans |
Iota Underbar Inverse | ⍸⍣¯1 |
🔵 | givenr , findsn so thatr≡⍸n
|
Jot Diaeresis | ⍤ |
🔵 | allows constant left operand, Atop with function right operand |
Jot Underbar | ⍛ |
🔺 | reverse compositionX f⍛g Y is(f X) g Y
|
Left Shoe | ⊂ |
🔵 | allows partitioning along multiple trailing axes, with short ⍺ s, and inserting/appending empty partitions
|
Left Shoe Stile | ⍧ |
🔺 | monad: nub-sieve; dyad: count-in |
Left Shoe With Axis | ⊂[k] |
🔵 | as⊂ , but called with left operand
|
Less Than | < |
🔶 | with TAO; monad: is-strictly-positive/is-control-character |
Less Than Or Equal To | ≤ |
🔶 | with TAO ; monad: is-non-negative/is-invisible |
Minus | - |
🔵 | monadic flips letter case |
macron | ¯ |
🔵 | as prefix to name or primitive means its inverse |
negative Infinity | ¯∞ |
🔺 | smallest integer (for use with⍣ )
|
Nand | ⍲ |
🔶 | monad: not all equal to type |
Nor | ⍱ |
🔶 | monad: not any equal to type |
Not Equal To | ≠ |
🔶 | with TAO; monad: is-non-type |
Percent | % |
🔺 | f% andA% : probability-logical function (mapping arrays)
|
Quad Diamond | ⌺ |
🔶 | auto-extended⍵⍵ , allows small⍵ , optional edge spec(s) (0:Zero; 1:Repl; 2:Rev; 3:Mirror; 4:Wrap; -:Twist) with masks as operand's⍺
|
Question Mark | ? |
🔵 | ⍺?¯⍵ as norm dist stddev ⍵ and optional mean⍺←0
|
Rho | ⍴ |
🔵 | allows omitting one dimension length with¯1
|
Right Shoe Underbar | ⊇ |
🔺 | monadic discloses if scalar, dyadic indexes sanely |
Right Shoe Underbar With Axis | ⊇[k] |
🔺 | as above, but called with left operand |
Root | √ |
🔺 | (Square) Root |
Semicolon Underbar | ⍮ |
🔺 | (Half) Pair; use↑⍤⍮ to add axis
|
Slash | / |
🔵 | allows short and/or multiple left args |
Slash Bar | ⌿ |
🔵 | allows short and/or multiple left args |
Star Diaeresis | ⍣ |
🔵 | allows non-scalar right operand incl.∞ and¯∞ and array left operand
|
Stile | | |
🔵 | monadic normalises letters to lowercase (upper then lower) |
Stile Tilde | ⍭ |
🔺 | monadic is factors; dyadic depends on⍺ : 0=non-prime?, 1=prime?, ¯1=primes less than⍵ , ¯2=⍵ th prime, 4=next prime, ¯4=prev prime
|
Tilde | ~ |
🔵 | monadic allows probabilities, dyadic allows rank>1 |
Tilde Diaeresis | ⍨ |
🔵 | allows constant operand |
Times | × |
🔵 | set/query letter case (lower:¯1 , title:0 , upper:1 )
|
Up Arrow | ↑ |
🔵 | allows long⍺
|
Up Shoe | ∩ |
🔶 | monadic is self-classify; dyadic allows rank>1 |
Upstile | ⌈ |
🔵 | monadic uppercases letters |
Up Tack | ⊥ |
🔶 | 2 as default left argument |
Vel | ∨ |
🔶 | monadic is Descending Sort |
Wedge | ∧ |
🔶 | monadic is Ascending Sort |
Case Convert | ⎕C |
🔺 | fn ⎕C applies case-insensitively,array ⎕C case-folds
|
Error Message | ⎕EM |
🔺 | Self-inverse⎕EM
|
Namespace | ⎕NS |
🔵 | allows⎕NS names values (tries to resolve⎕OR s)
|
Namespace inverse | ⎕NS⍣¯1 |
🔺 | allows(names values)←⎕NS⍣¯1⊢ns (returns⎕OR s for ns/fns)
|
Unicode Convert | ⎕UCS |
🔵 | scalar when monadic |
* 🔺 means new feature 🔶 means added valence 🔵 means expanded domain
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 |
Historical | A Programming Language ∙ A+ (A) ∙ APL# ∙ 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 ∙ Jellyfish ∙ K (Goal, Klong, Q) ∙ KamilaLisp ∙ Lang5 ∙ Nial ∙ RAD |
Overviews | Timeline of array languages ∙ Timeline of influential array languages ∙ Family tree of array languages |