GNU APL: Difference between revisions
Created page with "{{stub}} {{implementation|APL}} [https://www.gnu.org/software/apl/ GNU APL] is a cross platform APL interpreter." |
Added info on GNU APL, APL2 vs. Dyalog |
||
Line 3: | Line 3: | ||
[https://www.gnu.org/software/apl/ GNU APL] is a cross platform APL interpreter. |
[https://www.gnu.org/software/apl/ GNU APL] is a cross platform APL interpreter. |
||
The APL interpreter is an (almost) complete implementation of ISO standard 13751 aka. Programming Language APL, Extended. |
|||
The APL interpreter has implemented: |
|||
- nested arrays and related functions |
|||
- complex numbers, and |
|||
- a shared variable interface |
|||
In general, it follows IBM's APL2 implementation. For a wonderful introduction to APL2, refer to [https://archive.org/details/apl-2-at-a-glance-brown-pakin-polivka APL2 At A Glance], by Brown, Pakin & Polivka. |
|||
Note that [https://rosettacode.org/wiki/Dyalog_APL Dyalog APL] is a proprietary implementation that is actively developed by its namesake company, and as such has diverged from APL2 in some respects. Many online examples use Dyalog operators and syntax extensions; to understand the differences refer to this discussion of APL "evolution" or "migration" levels and how they affect the meaning of certain operators: [https://groups.google.com/g/comp.lang.apl/c/QNPOntjvIHM Mix (up arrow) in GNU APL?] |
|||
With some basic knowledge of APL2 and Dyalog, programs can be translated from one to the other with minimal effort. |
Revision as of 06:41, 29 June 2021
GNU APL is a cross platform APL interpreter.
The APL interpreter is an (almost) complete implementation of ISO standard 13751 aka. Programming Language APL, Extended.
The APL interpreter has implemented:
- nested arrays and related functions
- complex numbers, and
- a shared variable interface
In general, it follows IBM's APL2 implementation. For a wonderful introduction to APL2, refer to APL2 At A Glance, by Brown, Pakin & Polivka.
Note that Dyalog APL is a proprietary implementation that is actively developed by its namesake company, and as such has diverged from APL2 in some respects. Many online examples use Dyalog operators and syntax extensions; to understand the differences refer to this discussion of APL "evolution" or "migration" levels and how they affect the meaning of certain operators: Mix (up arrow) in GNU APL?
With some basic knowledge of APL2 and Dyalog, programs can be translated from one to the other with minimal effort.