Comparison of APL dialects: Difference between revisions

Jump to navigation Jump to search
→‎Language features: Include year of feature introduction and collapse APL*PLUS rows into APL+Win
(APL2C)
(→‎Language features: Include year of feature introduction and collapse APL*PLUS rows into APL+Win)
Line 59: Line 59:
The following table shows support for various APL features: nesting either with [[box]]es or the [[nested array model]], [[defined function]]s or similar syntax, [[control structure]]s, [[dfn]]-style anonymous functions, [[tacit]] programming, particularly with [[train]]s, [[complex number]]s, arbitrary-precision integers, [[Unicode]] support, and [[namespace]]s or a similar encapsulation feature. The precise syntax and capabilities of these features might differ between dialects that support them.
The following table shows support for various APL features: nesting either with [[box]]es or the [[nested array model]], [[defined function]]s or similar syntax, [[control structure]]s, [[dfn]]-style anonymous functions, [[tacit]] programming, particularly with [[train]]s, [[complex number]]s, arbitrary-precision integers, [[Unicode]] support, and [[namespace]]s or a similar encapsulation feature. The precise syntax and capabilities of these features might differ between dialects that support them.


Dialects included in the first row include [[APL\360]], [[APL\1130]], [[APL*PLUS]] before II, [[APL/700]], [[APL.SV]], [[APL 5100]], [[MCM/70]], [[VS APL]], [[APL\3000]], and [[Aplette]]. [[Extended Dyalog APL]] and [[Dyalog APL Vision]] have the same feature-set as [[Dyalog APL]].
Dialects included in the first row include [[APL\360]], [[APL\1130]], [[APL*PLUS]] before II, [[APL/700]], [[APL.SV]], [[APL 5100]], [[MCM/70]], [[VS APL]], [[APL\3000]], and [[Aplette]]. Dates for [[APL+Win]] include those for APL*PLUS. [[Extended Dyalog APL]] and [[Dyalog APL Vision]] have the same feature set as [[Dyalog APL]].


{|class="wikitable sortable"
{|class="wikitable sortable"
! Dialect                !! Nesting !! [[Tradfn]]s !! [[Control structure|Control]] !! [[Dfn]]s !! [[Tacit]] !! [[Complex]] !! Big int !! [[Unicode]]    !! [[Namespace]]
! Dialect                !! Nesting     !! [[Tradfn]]s !! [[Control structure|Control]] !! [[Dfn]]s   !! [[Tacit]]     !! [[Complex]] !! Big int !! [[Unicode]]    !! [[Namespace]]
|-
|-
| [[APL\360]], [[APL.SV]], … || {{No}}       || {{Yes}} || {{No}}            || {{No}}            || {{No}}        || {{No}} || {{No}}  || {{No}}          || {{No}}
| [[APL\360]], [[APL.SV]], … || {{No}}             || {{Yes}} || {{No}}            || {{No}}            || {{No}}        || {{No}}       || {{No}}  || {{No}}          || {{No}}
|-
|-
| [[SHARP APL]]           || {{Yes|Boxes}}   || {{Yes}} || {{No}}           || {{No}}            || {{No}}        || {{Yes}} || {{No}}  || {{No}}          || {{No}}
| [[APL+Win]]             || {{Yes|Nested (1989)}} || {{Yes}} || {{Yes|1994}}     || {{No}}            || {{No}}        || {{No}}       || {{No}}  || {{No}}          || {{Yes|2006}}
|-
|-
| [[NARS]]               || {{Yes|Nested}}  || {{Yes}} || {{No}}            || {{Maybe|[[direct definition (operator)|direct def]]}}
| [[SHARP APL]]           || {{Yes|Boxes (1981)}}  || {{Yes}} || {{No}}            || {{No}}           || {{No}}        || {{Yes|1981}} || {{No}}  || {{No}}          || {{No}}
                                                                                                  | {{No}}        || {{No}} || {{No}}  || {{No}}          || {{No}}
|-
|-
| [[Dyalog APL]]         || {{Yes|Nested}} || {{Yes}} || {{Yes}}           || {{Yes}}           || {{Yes}}       || {{Yes}} || {{No}}  || {{Yes}}         || {{Yes}}
| [[NARS]]               || {{Yes|Nested}}       || {{Yes}} || {{No}}           || {{Maybe|[[direct definition (operator)|direct def]]}}
                                                                                                        | {{No}}         || {{No}}       || {{No}}  || {{No}}         || {{No}}
|-
|-
| [[APL2]]               || {{Yes|Nested}} || {{Yes}} || {{No}}           || {{No}}           || {{No}}         || {{Yes}} || {{No}}  || {{No}}         || {{Yes}}
| [[Dyalog APL]]         || {{Yes|Nested}}       || {{Yes}} || {{Yes|1996}}     || {{Yes|1996}}     || {{Yes|2014}}   || {{Yes|2011}} || {{No}}  || {{Yes|2008}}   || {{Yes|1994}}
|-
|-
| [[A+]]                 || {{Yes|Boxes}}   || {{Yes}} || {{Yes}}           || {{No}}            || {{Maybe|Some}} || {{No}} || {{No}}  || {{No}}          || {{No}}
| [[APL2]]               || {{Yes|Nested}}       || {{Yes}} || {{No}}           || {{No}}            || {{No}}         || {{Yes}}     || {{No}}  || {{No}}          || {{Yes|1987}}
|-
|-
| [[APL*PLUS II]]         || {{Yes|Nested}} || {{Yes}} || {{No}}           || {{No}}            || {{No}}         || {{No}} || {{No}}  || {{No}}          || {{No}}
| [[A+]]                 || {{Yes|Boxes}}         || {{Yes}} || {{Yes}}           || {{No}}            || {{Maybe|Some}} || {{No}}       || {{No}}  || {{No}}          || {{No}}
|-
|-
| [[SAX]]                || {{Yes|Boxes}}   || {{Yes}} || {{Yes}}          || {{No}}            || {{Maybe|Some}} || {{No}} || {{No}}  || {{No}}          || {{No}}
| [[SAX]]                || {{Yes|Boxes}}         || {{Yes}} || {{Yes}}          || {{No}}            || {{Maybe|Some}} || {{No}}       || {{No}}  || {{No}}          || {{No}}
|-
|-
| [[APL*PLUS III]]       || {{Yes|Nested}} || {{Yes}} || {{Yes}}          || {{No}}            || {{No}}        || {{No}} || {{No}}  || {{No}}          || {{No}}
| [[APL2C]]               || {{Yes|Nested}}       || {{Yes}} || {{Yes}}          || {{No}}            || {{No}}        || {{No}}       || {{No}}  || {{No}}          || {{No}}
|-
|-
| [[APL+Win]]             || {{Yes|Nested}} || {{Yes}} || {{Yes}}          || {{No}}            || {{No}}        || {{No}} || {{No}}  || {{No}}          || {{Yes}}
| [[APLX]]               || {{Yes|Nested}}       || {{Yes}} || {{Yes}}          || {{No}}            || {{No}}        || {{No}}       || {{No}}  || {{No}}          || {{No}}
|-
|-
| [[APL2C]]               || {{Yes|Nested}} || {{Yes}} || {{Yes}}          || {{No}}           || {{No}}         || {{No}} || {{No}} || {{No}}         || {{No}}
| [[NARS2000]]           || {{Yes|Nested}}       || {{Yes}} || {{Yes}}          || {{Yes}}           || {{Yes|2009}}   || {{Yes}}     || {{Yes}} || {{Maybe|UCS-2}} || {{No}}
|-
|-
| [[APLX]]               || {{Yes|Nested}} || {{Yes}} || {{Yes}}          || {{No}}            || {{No}}        || {{No}} || {{No}}  || {{No}}         || {{No}}
| [[VisualAPL]]           || {{Yes|Nested}}       || {{Yes}} || {{Yes}}          || {{No}}            || {{No}}        || {{No}}       || {{No}}  || {{Yes}}         || {{Yes}}
|-
|-
| [[NARS2000]]           || {{Yes|Nested}} || {{Yes}} || {{Yes}}          || {{Yes}}          || {{Yes}}        || {{Yes}} || {{Yes}} || {{Maybe|UCS-2}} || {{No}}
| [[APL#]]               || {{Yes|Nested}}       || {{No}} || {{Yes}}          || {{Yes}}          || {{Yes}}        || {{No}}       || {{No}} || {{Yes}}         || {{Yes}}
|-
|-
| [[VisualAPL]]           || {{Yes|Nested}} || {{Yes}} || {{Yes}}           || {{No}}           || {{No}}         || {{No}} || {{No}}  || {{Yes}}        || {{Yes}}
| [[ngn/apl]]             || {{Yes|Nested}}       || {{No}} || {{No}}           || {{Yes}}           || {{Yes}}       || {{Yes}}     || {{No}}  || {{Yes}}        || {{No}}
|-
|-
| [[APL#]]               || {{Yes|Nested}} || {{No}} || {{Yes}}           || {{Yes}}           || {{Yes}}       || {{No}} || {{No}}  || {{Yes}}        || {{Yes}}
| [[GNU APL]]             || {{Yes|Nested}}       || {{Yes}} || {{Maybe|If-else}} || {{Maybe|Limited}} || {{No}}         || {{Yes}}     || {{No}}  || {{Yes}}        || {{Yes}}
|-
|-
| [[ngn/apl]]            || {{Yes|Nested}} || {{No}}  || {{No}}            || {{Yes}}          || {{Yes}}        || {{Yes}} || {{No}}  || {{Yes}}        || {{No}}
| [[Co-dfns]]            || {{Yes|Nested}}       || {{No}}  || {{No}}            || {{Yes}}          || {{Yes}}        || {{Yes}}     || {{No}}  || {{Yes}}        || {{Maybe|Partial}}
|-
|-
| [[GNU APL]]             || {{Yes|Nested}} || {{Yes}} || {{Maybe|If-else}} || {{Maybe|Limited}} || {{No}}         || {{Yes}} || {{No}} || {{Yes}}        || {{Yes}}
| [[April]]               || {{Yes|Nested}}       || {{No}} || {{No}}           || {{Yes}}           || {{Yes}}       || {{Yes}}     || {{Yes}} || {{Yes}}        || {{Yes}}
|-
|-
| [[Co-dfns]]             || {{Yes|Nested}} || {{No}}  || {{No}}            || {{Yes}}          || {{Yes}}        || {{Yes}} || {{No}} || {{Yes}}        || {{Maybe|Partial}}
| [[dzaima/APL]]         || {{Yes|Nested}}       || {{No}}  || {{No}}            || {{Yes}}          || {{Yes}}        || {{No}}       || {{Yes}} || {{Yes}}        || {{Yes}}
|-
|-
| [[April]]               || {{Yes|Nested}} || {{No}}  || {{No}}            || {{Yes}}          || {{Yes}}        || {{Yes}} || {{Yes}} || {{Yes}}        || {{Yes}}
| [[APL\iv]]             || {{Maybe|Lists}}       || {{No}}  || {{No}}            || {{Yes}}          || {{Yes}}        || {{Yes}}     || {{No}} || {{Yes}}        || {{No}}
|-
|-
| [[dzaima/APL]]         || {{Yes|Nested}} || {{No}} || {{No}}           || {{Yes}}          || {{Yes}}        || {{No}} || {{Yes}} || {{Yes}}        || {{Yes}}
| [[Kap]]                 || {{Yes|Nested}}       || {{Yes}} || {{Yes}}           || {{Yes}}          || {{Yes}}        || {{Yes}}     || {{Yes}} || {{Yes}}        || {{Yes}}
|-
|-
| [[APL\iv]]              || {{Maybe|Lists}} || {{No}}  || {{No}}            || {{Yes}}          || {{Yes}}        || {{Yes}} || {{No}}  || {{Yes}}        || {{No}}
| [[APL64]]              || {{Yes|Nested}}       || {{Yes}} || {{Yes}}          || {{No}}            || {{No}}        || {{No}}       || {{No}}  || {{Yes}}        || {{Yes}}
|-
| [[Kap]]                || {{Yes|Nested}}  || {{Yes}} || {{Yes}}          || {{Yes}}          || {{Yes}}        || {{Yes}} || {{Yes}} || {{Yes}}        || {{Yes}}
|-
| [[APL64]]              || {{Yes|Nested}} || {{Yes}} || {{Yes}}          || {{No}}            || {{No}}        || {{No}} || {{No}}  || {{Yes}}        || {{Yes}}
|}
|}


Navigation menu