GNU APL: Difference between revisions

From Rosetta Code
Content added Content deleted
(Added info on GNU APL, APL2 vs. Dyalog)
m (Rephrasing GNU APL vs. Dyalog)
Line 16: Line 16:
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.
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?]
Those who are studying APL would do well to contrast GNU APL with [https://rosettacode.org/wiki/Dyalog_APL Dyalog APL], a proprietary implementation that is actively developed by its namesake company, which has diverged from APL2 in some respects. Many examples nowadays which are found online 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.
With some basic knowledge of APL2 and how Dyalog differs, programs can be translated from one to the other with minimal effort.

Revision as of 08:29, 2 July 2021

This page is a stub. It needs more information! You can help Rosetta Code by filling it in!
GNU APL is an implementation of APL. Other implementations of 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 APL2 At A Glance, by Brown, Pakin & Polivka.

Those who are studying APL would do well to contrast GNU APL with Dyalog APL, a proprietary implementation that is actively developed by its namesake company, which has diverged from APL2 in some respects. Many examples nowadays which are found online 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 how Dyalog differs, programs can be translated from one to the other with minimal effort.