GNU 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.
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.