From Sam Sirlin@21:1/5 to All on Sun Dec 27 15:12:58 2020
Subject: APL language FAQ
Summary: Answers to common questions regarding the computer language APL.
Last-modified: Sun Dec 27 15:02:20 PST 2020
APL Frequently Asked Questions (well some, anyway)
Maintained by S.W. Sirlin
Thanks to the many people who have contributed to this list.
12/27/2020 (most) waterloo links -> sigapl copy of waterloo
The language was invented by Kenneth E. Iverson while at Harvard
University. The language, originally titled "Iverson Notation", was
designed to overcome the inherent ambiguities and points of confusion
found when dealing with standard mathematical notation. It was later
described in 1962 in a book simply titled "A Programming Language"
(hence APL). Towards the end of the sixties, largely through the
efforts of IBM, the computer community gained its first exposure to
APL. Iverson received the Turing Award in 1979 for this work.
APL is a user-oriented notation, particularly well suited for
communication from people to other people or to computers. The
notation consists of a set of symbols (letters, numbers, punctuation,
algebra, and special shapes), with a very simple set of rules (syntax)
for putting them together to describe the processing of data. The
data can be either numeric or literal (which includes words and text
In fact there are about a hundred different "primitive"
(i.e. fundamental to APL) operations which can be performed. This can
be compared to having a calculator with over 100 different function
Following the old Chinese proverb that a picture is worth a thousand
words, the APL symbol set is the equivalent of many words in
describing algorithms or procedures. Often one or a few APL symbols
(function) can have the same result as several lines of code in
another computer language or of several paragraphs in English.
Check out some of the web links or
books listed below for more information.
Wikipedia has a good overview as well http://en.wikipedia.org/wiki/APL_(programming_language).
The questions I'm answering here are:
1. Where can I find APL for machine X?
2. How do I use APL on an XX terminal connected to machine YY?
3. What about APL keyboards/stickers?
4. Can I compile APL?
5. What tools exist for APL?
6. Can I get an APL font for X?
7. What information exists online about APL?
8. How do I get book Y?
9. What good APL books exist?
10. What user groups exist?
11. What's the latest APL conference?
12. How do I pass APL functions from one APL to another?
13. How do I write APL using only ASCII?
14. What about Unicode?
An old (1970s) APL for the HP 3000, similar to IBM APL
SV. Now partly revived through HP 3000 emulation. Source code
exists but licensing cloudy (check news group posts).
APLX (was APL.68000)[8/2016]
APLX is no longer available from MicroAPL, however Dyalog is
hosting free downloads of the final (version 5.0) APLX
installation packages and documentation
Fonts under W95, WNT, (WME?) are troublesome. Here is some
information from Allan Zenth (firstname.lastname@example.org):
I tried to use APL-PLUS v.10 (essentially the same as APL SE) under Windows
95 and Windows NT. I don't know about Windows ME.
First the bad things: You cannot work in a window with symbols (only
full-screen) and using a code-page for symbols is not possible in NT.
The difficult thing is to have a stable full-screen situation and the most
difficult was NT.
1) Make a short-cut on the screen to the apl.exe file. Go into the
properties (right-click on the icon).
2) On the program-page refer to the bat-file in the command-line field an
set run to maximized
3) On the memory-page I use 1MB in EMS, XMS & DPMI - perhabs not important
4) On the screen-page set full-screen
5) On the misc-page remove the check-mark for Ctrl+Esc - Important to have
6) Go into C:\WinNT\Pif and make sure, that you have the same short-cut
7) Here should also be a short-cut for your font.com:
7a) On the program page refer to the file itself on the command-line, set
run to maximized and remove the mark in "close on exit" (important!!)
7b) The same alterations on the other pages as above.
8) If you use aplprint.com for function-printout it should be treated as
Try to use this method in Windows ME - it might be the way out.
APL*PLUS II/VMS, Statgraphics
This was distributed by Manugistics (formerly STSC) but now has
been taken over by APL2000 (above).
2115 East Jefferson St.
Rockville, Maryland, USA 20852
Tel: 800-592-0050, 301-984-5000, 301-984-5412, 301-984-5123
email: support: email@example.com
APL-11 (PDP), VAX APL V4.0:
Digital Equipment Corporation (DEC) was bought by Compaq in
1998, which was bought by HP in 2002. The APL products seem to
be no longer available. Note that some code is
available from http://www.trailing-edge.com
including binaries for APLSF, and the source code for APL-11.
GNU APL is a free interpreter APL. Should compile under most
unix, windows under CYGWIN. A Linux RPM and Debian package are
The APL interpreter is an (almost) complete implementation of
ISO standard 13751 aka. Programming Language APL, Extended.
The APL interpreter has implemented:
o nested arrays and related functions
o complex numbers, and
o a shared variable interface
In the US (may require lots of patience):
Edward M. Cherlin
Co-Chairman, I-APL Limited
6611 Linville Drive
Weed, California, USA 96094-9763
Tel: (916) 938-4684, Fax: 916/938-3229
In the UK:
Co-Chairman, I-APL Limited
11 Auburn Road
Bristol BS6 6LS UK
MVT for APL [12/2015]
MVT for APL Version 2.00 is a resurrection of APL\360, an old
IBM APL together with OS/360 needed to run it. Apparently runs on
Windows, OSX, or Linux. This is possible since IBM have licensed
the source code of APL\360-OS Version 1, Modification 1 to the
Computer History Museum. See the extensive instructions in the
Put together by Jürgen Winkelmann
NARS2000 is a freely available open source APL interpreter for
Windows 2000 and later versions as well as various versions of
Linux using Wine (http://www.winehq.org/) as a translation
layer. NARS2000 is an Experimental APL Interpreter being worked
on by members of the APL community. Available in 32 bit and 64 bit
Parrot APL [11/2006]
APL is one of the languages part of the parrot project - a
generic interpreter backend with more than 30 languages included (Perl,
Ruby Basic, Scheme etc). GPL (free source). Unix +. http://www.parrotcode.org/
Q'Nial is a highly portable interpreter for Nial originally
developed at Queen's University, Kingston, Canada in the early
1980s. NIAL stands for the Nested Interactive Array Language,
a hybrid language combining a functional array language based on
Trenchard More's mathematical treatment of nested arrays
called Array Theory, with a procedural language with familiar
control structures. Q'Nial is open source, with versions available
for Unix and Windows.
NIAL Systems Limited
601-2 Bay St.
Source and binary versions are available on github: http://www.github.com/danlm/QNial7.
The version 7 release provides documentation on Q'Nial and tools
to extend the language by incorporating other open software packages.
SHARP APL (MVS, AIX, SunOS, Solaris, Linux, Android [4/15])
Sharp APL for Linux is free for personal use. sAPL for
Android devices by GEMESYS Ltd. is available from https://play.google.com/store/apps/details?id=org.gemesys.android.sapl
Other products are Viewpoint, LOGOS, Mailbox
Soliton Associates Limited (Formerly I. P. Sharp Associates)
44 Victoria St, Suite 2100
Toronto, Ontario, Canada M5C 1Y2
Tel: (416) 364-9355 Fax: (416) 364-6159
email: sales@Soliton.COM http://www.soliton.com
Soliton Associates, Inc.
1100 University Ave., Suite 111
Rochester, NY 14607
Tel: (716) 256-6466, Fax: (716) 256-6469
Soliton Associates Limited
Tel: +45 2621 6099, Fax: +45 3940 1641
(2) Q: How do I use APL on an XX terminal connected to machine YY?
A: Terminal Emulation
Apex Computer Specialists
APL Key Boards and key caps for MG800/T7000 terminals, for WICAT/MCS
systems, as well as terminal with both the ASCII and APL character
Apex Computer Specialists, Inc.
1502 West 400 South, Suite #2
Orem, UT 84058-5100
Tel: 888-887-2739, Ext. 3357
Chameleon TN3270 for Windows, networks, IBM 3179G and 3192G emulation,
SAA, APA graphics.
10725 De Anza Blvd., Cupertino, CA 95014, U.S.A.
EXTRA! Extended for DOS or EXTRA! for Windows.
Includes APL2 character set in both. DOS product works under Windows.
13231 S.E. 36th Street
Bellevue, Washington 98006 USA
tel. (800) 426-6283
(206) 644-4010 in Washington State
IBM Terminal Emulator
IBM Terminal Emulators with APL Support:
AIX: AIX X-Windows 3270 Emulator/6000 (X3270) Program Number 5765-011
DOS/Windows: PC/3270 Version 3, Version 4 9/30
OS2 Extended Services Communications Manager:
Includes the CMAPL Application Aid. Requires APAR fixes
after the Graphics Engine CSD is installed.
OS2 Communications Manager/2 (CM/2):
APL Support is available in Version 1.11
IRMA (PC) ??
Digital Communications Associates, Inc.
1000 Alderman Drive
Alpharetta, Georgia 30201-4199 USA
tel. (770) 442-4000
YTERM For PC, supports IBM, VAX, TCP/IP with APL/APL2 chars. [?]
Yale University Computing & Information Systems
175 Whitney Avenue
New Haven CT 06520
Tel: (203) 432-6600 Fax: (203)-432-6165
Z-Stem, a series of VT (e.g. VT240) emulators, for MSDOS PC/VAX-11
3738 North Fraser Way, Unit 101
Burnaby, British Columbia
Canada, V5J 5G1
(3) Q: What about APL keyboards/stickers?
A: APL Keyboards/Keycaps
IBM/Lexmark keyboard, part no. 60G3571 or KB-571,
(Professional 101-key keyboard about $90)
APL2 Keycaps, US and UK base set (about $46)SX80-0270
APL2 Keycaps, German Upgrade to SX80-0270 SX80-0452
APL2 Keycaps, German Upgrade to SX80-0270 SX80-0453
APL2 Keycaps, French Upgrade to SX80-0270 SX80-0454
APL2 Keycaps, Italian Upgrade to SX80-0270 SC33-0604
APL2 Keyboard Decals (about $13 for set of two)
Keycaps and decals are "publications" - order at 800-879-2755
US, UK and Danish available. Other languages would be considered
if the demand was great enough. Contact Dyalog for more
Sam Sirlin's current modification of Budd's older aplc
o ported to Solaris, Freebsd, Atari, Linux, Dec Alpha
o support for most of ISO APL, control structures, boxed arrays
o support for hypercomplex numbers (ordinary complex, quaternions, octonions)
v6.19 is the current version (anonymous fns, more operator support)
Send mail to firstname.lastname@example.org asking for it
Thomas Glen Smith's CAPLIB2 package, while not strictly a compiler
Has C procedures corresponding to APL functions/operators (see above)
IEDIT (APL2 editor),AFM file system,APL2 tools[dead 3/2006]
Interprocess Systems, Inc.
Insight Systems [dead 10/2015]
SQAPL, an interface to SQL databases via ODBC or
SequeLink, a spreadsheet manager, and a number of other APL tools
available for many APL systems. Dealers for Dyalog APL, APL+Win
from Cognos/APL2000, APL2 from IBM, J from Jsoftware,
Causeway Products. [SQAPL seems to be available from Dyalog now.]
Computer Aided Instruction
Computer Aided Instruction, for PC or mainframe IBM. Also a newsletter.
23 Ketchbrook Lane
Ellington CT 06029 USA
Converting CSV files to APL
Some functions for converting Comma-Separated-Value (CSV)
files (e.g. from spreadsheets such as excell) to APL http://aplwiki.com/CsvToApl
(6) Q: Can I get an APL font for X?
A: Besides commercial products that come with the interpreters, there are:
o Truetype fonts: Dyalog APL and Vector APL are available gratis, if
you send a blank, formatted disk:
Brook House, Gilling East, YORK
England -- U.K.
(See his article in the April 1993 issue of VECTOR journal)
o STSC, now Manugistics, used to distribute a rom chip with the APL
characters for use in old monochrome adapters (now almost
extinct). There's also code called SIMCGA.COM, that makes an old
Hercules act like a cga (itself pretty old).
o Fonts from several vendors are available for use (free of charge)
in preparing articles for APL Quote Quad, APL conference
proceedings, or other educational articles. This can be found on
the ACM SIGAPL Web site. Word processing Templates to aid the
author in preparing articles for conference proceedings or for
submission to APL Quote Quad can also be found on the ACM SIGAPL
o Paul Houle has made a DOS window font file suitable for use with
old STSC APL's available here [5/17/04]: http://paulhoule.com