GNU APL

Astrid Rho, rho, rho of X
Always equals 1
Rho is dimension, rho rho rank.
APL is fun!


Richard M. Stallman, 1969



GNU APL is a free interpreter for the programming language APL.

The APL interpreter is an (almost) complete implementation of ISO standard 13751 aka. Programming Language APL, Extended.

The APL interpreter has implemented: In addition, GNU APL can be scripted. For example, this GNU APL home page was produced by a CGI script written in APL (see APL demo ).

GNU APL was written and is being maintained by Jürgen Sauermann.

Downloading and Installing GNU APL

GNU APL should be available on every GNU mirror (in directory apl) and at ftp://ftp.gnu.org.

Simple Installation of GNU APL

The simplest (though not the best) way to install GNU APL is this:
  1. Visit one of the GNU mirrors and download the tar file apl-2.0.tar.gz in directory apl.
  2. Unpack the tar file: tar xzf apl-2.0.tar.gz
  3. Change to the newly created directory: cd apl-2.0
  4. Read (and follow) the instructions in files INSTALL and README-*
  5. Caveat: GNU APL used to create full releases every 1-2 years, but only up to release 1.9. From release 1.9 on, GNU APL changed from releasing tar files to only releasing bug fixes for the 1.9 release via the GNU Savannah project. This new way of distributing GNU APL made it easier for both the GNU APL developers and the GNU APL users to keep their GNU APL up-to-date. See topic Subversion (SVN) and Git repositories for GNU APL below for details.

Platforms

GNU APL compiles under all major platforms (GNU/Linux, BSD, MacOS, Windows).

On decent platforms like GNU/Linux does GNU APL runs almost out-of-the-box. This is because the fonts needed to display APL characters and the keyboard mappings needed to generate APL characters are well supported by the platform.

On obsolete platforms like Windows, the user usually needs to install additional software in order to compile and use GNU APL. For example, in Windows 11 the user needs: On platforms that are lacking even minimal support for APL characters it is the responsibility of the user (i.e. the one who decided to use that platform) to install the missing pieces for running GNU APL.

Subversion (SVN) and Git repositories for GNU APL

The best supported way of installing GNU APL is to check out its latest version from either its Subversion (preferred) or Git repository on Savannah. The subversion command to do that is:

svn checkout http://svn.savannah.gnu.org/svn/apl/trunk

Here is more information about using Subversion with GNU APL. Likewise, the command for a Git checkout is:

git clone https://git.savannah.gnu.org/git/apl.git

and here is more information about using Git with GNU APL.

Debian packages for GNU APL

For Debian based GNU/Linux distributions we have created source and binary packages for Debian. Look for files apl-2.0-1_amd64.deb (binary Debian package) or apl-2.0-1.debian.tar.gz (Debian source package). If you encounter a problem with these packages, then please report it, but with a solution, since the maintainer of GNU APL may use a GNU/Linux distribution with a different package manager.

Try GNU APL

Last, but not least, there is an online version of GNU APL, kindly provided and maintained by Roy Tobin, that you can use to try out GNU APL without installing it on your machine: https://trygnuapl.github.io.

Reporting Bugs

GNU APL is made up of more than 140,000 lines of C++ code. In a code of that size, programming mistakes are inevitable. Even though mistakes are hardly avoidable, they can be corrected once they are found. In order to improve the quality of GNU APL, we would like to encourage you to report errors that you find in GNU APL to bug-apl@gnu.org .

The emails that we like the most are those that include a small example of how to reproduce the fault. You can see all previous postings to this mailing list at http://lists.gnu.org/archive/html/bug-apl/ or subscribe to it at https://lists.gnu.org/mailman/listinfo/bug-apl .

Documentation

GNU APL comes with two documents: A Quick Tour of GNU APL , which was primarily written for newcomers to APL in general or to GNU APL in particular. It contains a brief introduction by examples into the APL language, followed by s short description of almost all GNU APL features.

And, for those already familiar with APL, there is a slightly more detailed info manual for GNU APL whose focus is more on the non-standard GNU APL features than on the APL language itself.

Finally, all GNU APL source code files are Doxygen documented. You can locally generate this documentation by running make DOXY in the top level directory of the GNU APL package. Or browse a (not entirely up-to-date) online version of the Doxygen documentation.

GNU APL Community

There is a growing group of people that are using GNU APL and that would like to share their APL code with other APL programmers. We have created a GNU APL Community Web page that aims at collecting and preserving links to the code provided by GNU APL users as to avoid that it gets lost.

In addition, we maintain a Bits-and-Pieces directory where we collect files that contain APL code sniplets, GNU APL workspaces, and other files that were contributed by the GNU APL Community. The Bits-and-Pieces directory is the right place for contributions for which the creation of an own hosting account would be an overkill.
Return to GNU's home page .

Please send FSF & GNU inquiries & questions to gnu@gnu.org . There are also other ways to contact the FSF.

Please send comments on these web pages to bug-apl@gnu.org . send other questions to gnu@gnu.org .

Copyright (C) 2014 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.