- APL language FAQ

 Home >  Programming >

APL language FAQ

Section 1 of 2 - Prev - Next

Archive-name: apl-faq
Posting-Frequency: monthly
Last-modified: Wed Apr 21 09:28:54 PDT 2004

APL Frequently Asked Questions  (well some, anyway)
Maintained by S.W. Sirlin
Thanks to the many people who have contributed to this list.

2/2/2004 New in this version:  minor updates

First, what is APL?
APL is the first array processing language (that I know of anyway).
The following was extracted from

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 1980 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.
for the rest of the article, or check out some of the web links or
books listed below for more information.

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. Where can I find APL employment information?

The primary format for this faq is html. I use lex and aplc to convert
this to a text version that is autoposted to the newsgroup.
For the (text) latest version available, see
(where all the autoposted faq's are archived), in particular
Another good place for faq archives is,
with this faq at
The latest html version of this faq is at

(1)   Q: Where can I find APL for machine X?

  A+ [1/2002]
  A+ is an APL dialect available (as source) under the GNU GPL for
  various Unix, including Linux, Solaris, FreeBSD, NetBSD,
  developed at Morgan Stanley by Arthur Whitney et al.
  The BAA has had some success in porting to Windows, see

  APL\11 is a freely available APL interpreter for UNIX (C),
  thanks to Michael Cain. Currently has some bugs.
  See also openAPL below. Port to FreeBSD available

    APL+DOS, APL+UNIX, APL+Win (for Windows 3.1, NT, 95),
      APL+Link, APL+Link Pro,
      APLSE for DOS (freeware, no printed documentation or support)
     (formerly sold by Manugistics/STSC):
        Cognos, Inc.
        6610 Rockledge Drive, Suite 502,
        Bethesda Maryland USA 20817
        Main Phone: (301) 564-5020
        Sales Phone: 609-436-8717     Sales Fax: 609-734-0717
        Support Phone: 301-564-5027  Support Fax: 301-564-5021
        Consulting Services Phone: 609-436-8702
        Canadian Distributor:
        APL Borealis Inc.
        381 Manor Road East
        Toronto, Ontario M4S 1S7, Canada
        Phone: (416) 457-7828, Fax: (416) 482-6582
        UK Distributor [12/01]
        APL Systems IDC SL
        Alfredo Marquerie, 12 - 2 F
        28034 Madrid, Spain
        Phone: +34 91 730 7008 Office, +34 60 680 5949 Mobile
        Fax:  +1 775 743 6131

  APLX (was APL.68000)[2/2003]
    APLX for Windows, Mac OS (including Mac OS X), Linux and AIX
    (APL.6800 ran on Atari ST, IBM RS/6000, Mac level I/II,
    add in board for IBM pc's, PowerMac, Amiga). APLX for Linux is
    free for non-commercial use.
     In North America:
        Spencer Organization
        24 Wampum Road
        Park ridge, NJ  USA  07656
        Phone: +1-201-307-9099, Fax: +1-201-307-9404
     For the rest of the world:
        MicroAPL Limited
        South Bank Technopark
        90 London Road,
        London  UK  SE1 6LN
        Phone: +44-171-922-8866    Fax: +44-171-928-1006

    APL92 (Mac, system 7.1), older APL90:
        Jean-Jacques Girardot
        School Mines
        St-Etienne, France

    APLSE/LRNAPLSE (APL*PLUS v10 freeware, PCDOS, W95/98):

        APLSE is a version of Manugistics/STSC's PC APL, available
        with very little documentation. LRNAPLSE is a package
        including APLSE, on-screen lessons (with additional
        documentation), and the APL*PLUS Demo (more documentation).
	Ask for a catalog of APL books and software from Dick Holt,

        Fonts under W95, WNT, (WME?) are troublesome. Here is some
        information from Allan Zenth (
        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
           in APL
        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
        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 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
        Phone: 800-592-0050, 301-984-5000, 301-984-5412, 301-984-5123
        Fax: 301-984-5094
        email: support:
        BBS: 301-984-5222

    APROL (Scheme/J mix):
        For information (7/15/98):

    CAPLIB2 (Linux, DOS, HPUX, can be ported to other Unix) GPL interpreter, C library
        Thomas Glen Smith
        3154 W. Shady Lane
        Neenah, WI
        Rainer J. H. Brandt succeeded in geting CAPLIB2 to compile under NetBSD and Solaris; see[broken?9/18/2003]

  D4 [8/2000]
    D4 (IBM PC, Windows, Linux). Unix like shell for windows
        The shell is writen in D4, a dialect of APL
        For more information contact the author Tony Goddard

    DEC (VAX APL V4.0):
        Digital Equipment Corp.
        Maynard, MASS, USA

  Dyalog APL [4/2004]
    Dyalog APL (Win 95/98/ME/2000/XP, Unix/Motif, Windows 3.x, PocketPC 2002):
           Dyadic Ltd.
           Grove House, Lutyens Close, Chineham Court, Basingstoke
           Hampshire RG24 8AG, UK
           Phone: 011-44-1256-338461 ,  Fax: 011-44-1256-316559
           email :
        US Distributor:
           Beautiful Systems Inc.
           P.O. Box 2235
           Jenkintown, PA 19046 USA
           Phone: (215) 635-0375, Fax: (215) 635-9212
        Canadian Distributors:
        APL Borealis Inc.
        381 Manor Road East
        Toronto, Ontario M4S 1S7, Canada
        Phone: (416) 457-7828, Fax: (416) 482-6582
        Strand Software, Toronto
        Finnish Distributor:
           Dinosoft Oy
           Lonnrotinkatu 21 C
           00120 HELSINKI, Finland
           Phone: +358 9 70028820, Fax: +358 9 70028824
        German Distributor [4/28/2003]
           ubJL GmbH (formerly APL Software Team)
           Thusneldastr. 22
           90482 Nrnberg
           Phone: +49 911 482512, Fax: +49 911 482518
    IBM PC, MS Windows, version of APL\11
           Tauno Ylinen, email:
    Glee is an APL descendent, for MS Windows
    IBM PC, Mac, some other PCs (free*):
        In the US (may require lots of patience):
           Edward M. Cherlin
           Co-Chairman, I-APL Limited
           6611 Linville Drive
           Weed, California, USA  96094-9763
           Phone: (916) 938-4684, Fax: 916/938-3229

        In the UK:
           Anthony Camacho
           Co-Chairman, I-APL Limited
           11 Auburn Road
           Bristol BS6 6LS UK

  IBM APL2 [05/02]
    APL2 for Windows, AIX, Linux, Solaris and Mainframes
          APL Products and Services
          IBM Silicon Valley Lab, Dept. H36/F40
          555 Bailey Avenue
          San Jose, California 95141, USA
          Phone: 408-463-APL2 (408-463-2752), FAX: 408-463-4488

          IBM support site. Look in /ps/products/apl2
          From 1-800-IBM-CALL or
          Workstation APL2 Version 2 (Windows, AIX, Linux, Solaris) is
             IBM Program Product Number 5724-B74, Part Number 45P7514
          APL2 Version 2 (CMS, TSO) is Program Number 5688-228
          APL2 Application Environment for CMS/TSO is Program Number

    J (for DOS, Linux, Windows, Mac, RS/6000, Sun) & APLIWIN (for Windows),
      Produced by:
        Jsoftware Inc.
        19235 Covington Court
        Shorewood, MN 55331, USA

    K, Kdb;  an APL derivative for Solaris, Linux, Windows;
        trial version available
        Kx Systems

    Macs (?) version 2.11 (I don't know much about this yet)
      Michael C. O'Connor
      Leptonic Systems Co.
      405 Tarrytown Rd., White Plains, NY 10607
      Phone: (914) 682-0377
      version 1.13
      (no longer: )

    New (11/98) version of apl\11 (above). Alpha release, under
        GPL (free source). Ported to Linux/X11
        Branko Bratkovic, South Australia.
        email to branko at senet dot com dot au

    SHARP APL (MVS, AIX, SunOS, Solaris, Linux [1/02])
    Sharp APL for Linux is free for personal use; other products are
    Viewpoint, LOGOS, Mailbox
        Soliton Associates Limited (Formerly I. P. Sharp Associates)
        44 Victoria St, Suite 2100
        Toronto, Ontario, Canada M5C 1Y2
        Phone: (416) 364-9355  Fax: (416) 364-6159
        email: sales@Soliton.COM
        Soliton Associates, Inc.
        1100 University Ave., Suite 111
        Rochester, NY 14607
        Phone: (716) 256-6466,  Fax: (716) 256-6469
        Soliton Associates Limited
        Havsgaardsvej 4
        2900 Hellerup
        Copenhagen, Denmark
        Phone: +45 2621 6099, Fax: +45 3940 1641
        NIAL Systems Limited
        366 King Street East
        Suite 540
        Kingston, Ontario
        K7K 6Y3[?dead 8/2/2000]

(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
     Bert Arias
     Apex Computer Specialists, Inc.
     1502 West 400 South, Suite #2
     Orem, UT  84058-5100
     Phone 888-887-2739, Ext. 3357
     Int.l 1-801-223-3357
     Fax   801-223-9955

    Chameleon TN3270 for Windows, networks, IBM 3179G and 3192G emulation,
    SAA, APA graphics.
                10725 De Anza Blvd., Cupertino, CA 95014, U.S.A.
                Phone: 408/973-7171
                Fax: 408/257-6405

    EXTRA! Extended for DOS or EXTRA! for Windows.
                Includes APL2 character set in both.  DOS product works under Windows.
                Attachmate Corporation
                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

    Dyalog APL reportedly has a tweaked kermit for APL/X 6.x. This
                supports APL characters on a PC (DOS or DOS session under Windows)
                when running APL on a Unix box.

    RUMBA (for 3270, APL and graphics)
        Wall Data
        17769 NE 78th Place
        Redmond WA 98052-4992

    OpenAPL has support for X11 terminals, but this may not match
    character orderings for other APLs.

    Sun reportedly has a very good emulator for SunOS 4 and Solaris 2
    which emulates an IBM 3179G APA colour graphics terminal.

    TN3270 (Macintosh) Not public domain, but may be freely distributed.
    Works with TCP/IP
        Anonymous FTP from BROWNVM.BROWN.EDU (
           Distribution files are in the highest level directory.  Begin by
           retrieving the file $README.FIRST which describes the other files.

        Anonymous FTP from FTP.NCSA.UIUC.EDU (
          Distribution files are contained in the directory
          NCSA_Telnet/tn3270.  Same files as above above for

        BITNET distribution from LISTSERV@BROWNVM:
           Send LISTSERV the command GET TN3270 PACKAGE.  GET LOCAL FILELIST
           for a complete list of available files.

        Mail order from Brown for $20 (check payable to Brown University):
           TN3270 Distribution
           Brown University Computer Store
           P.O. Box 1885
           Providence, Rhode Island 02912 USA

        Info -- the NCSA Telnet Digest subscription:

    x3270 for Unix systems (Linux, Solaris,...)
           A free 327x emulator with APL support. Get the
           source from
           or see the home page at

    YTERM For PC, supports IBM, VAX, TCP/IP with APL/APL2 chars.
           Yale University Computing & Information Systems
           Software Distribution
           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
           KEA Systems
           3738 North Fraser Way, Unit 101
           Burnaby, British Columbia
           Canada, V5J 5G1
           (604) 431-0727

(3)   Q: What about APL keyboards/stickers?
A: APL Keyboards/Keycaps

  APL keyboard
    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

  Keyboard stickers, custom replacement key caps
        Hooleon Corp.
        P.O. Box 230
        Cornville, AZ  86325
        Tel: (602) 634-7515
        Fax: (602) 634-4620

  Keyboard stickers
    APL2000 Inc. (see above address)

  On-screen Maps
    KEYBOARD.AWS: APL*PLUS pop-up color keyboard diagram
    at the touch of a PF key. Incorporate it in any .AWS.
    Ask for catalog from

(4)   Q: Can I compile APL?
A: Compilers
    APL2C compiler/translator and interpreter,
    for Microsoft Windows 9x/NT/2000, written by Dr. Tilman P. Otto

    APL to C
    APL to C conversion and compiler
        - I've heard this is out of business these days.
        6. rue Paul Bert
        92800 Puteaux - France
        (1) +  Telex: 612 651 F

    IBM 370 APL*PLUS
    Manugistics compiler for IBM 370 APL*PLUS, documented in APL '85.
        see Manugistics listing above, or


    Robert Bernecky's APEX compiler:
        Snake Island Research Inc.[9/2003]

    Tim Budd's APLc:
        anonymous login to, cd users/b/budd, or and look under books.
        (latest C++ version unavailable?)

        Sam Sirlin's current modification (5.07) of Budd's older aplc:
        (mostly flat apl, ported to Sun4/5, Freebsd, Atari, Linux, Dec Alpha)
        or send mail to asking for it

    Thomas Glen Smith's CAPLIB2 package, while not strictly a compiler
        Has C procedures corresponding to APL functions/operators (see above)

    A list of references on APL compilation is available

(5)   Q: What tools exist for APL?
A: Other tools for APL

  Dino database for huge amount of data,Saurus tools for
  multidimensional databases
     Dinosoft Oy
     Lonnrotinkatu 21 C
     00120 HELSINKI, Finland
     Phone: +358 9 70028820, Fax: +358 9 70028824

  IEDIT (APL2 editor),AFM file system,APL2 tools[11/98]
    Interprocess Systems, Inc.

  Insight Systems [4/2000]
    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.

       Insight Systems ApS
       Nordre Strandvej 119G
       DK-3150 Hellebaek, Denmark
       Phone:   +45 7026 1326
       FAX:     +45 7026 1325

  APs for Dyalog APL for Windows
    Auxiliary Processors for Dyalog APL for Windows
       Lingo Allegro USA, Inc.
       6749 S.Westnedge Ave, Suite K-268
       Phone:    +1 312 203 4926
       Fax:      +1 708 459 8501

  Computer Aided Instruction

  Computer Aided Instruction, for PC or mainframe IBM.  Also a newsletter.
       Zark Incorporated
       23 Ketchbrook Lane
       Ellington CT 06029 USA

(6)   Q: Can I get an APL font for X?
A: Besides commercial products that come with the interpreters, there are:

  o Fonts for TeX, laTeX, the X windows system, postscript, and
  truetype (windows) are available.  See

  o Truetype fonts for windows are available from ISI.

  o Truetype fonts Dyalog APL and Vector APL are available gratis, if
  you send a blank, formatted disk:
     Adrian Smith
     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
   web site.

  o Paul L Jackson's contains DOSAPP.FON which if put in
   the Windows\Font directory, will provide an 8x16 APL font for a DOS
   window. This should work for various MS Windows products and
   APLSE. This is available at waterloo and Sam Sirlin's home page.

  o For web browsers, see Vector's site for a free ttf font (for pc's)
   Dyadic has a .fon font (for pc's)
   I don't know how to make this work for X though yet.

(7)   Q: What information exists online about APL?

Online information, free* APLs & WS

o Anonymous ftp servers:

        o The official archive site for this faq and
        many others. The latest version of this faq is at

        o or (
        L.J. Dickey's collection. Current J distribution for many
        machines (and J source, including LinkJ), APL\11, APLSE, CAPL,
        IAPL, RatAPL, TryAPL, APL fonts, TeX macros and fonts, the
        toronto toolkit, some other WS, archives of comp.lang.apl, the
        APL standard, an Introduction to J, and this FAQ. These are in
        directories starting from directory languages/apl

        o (
        some J sources, particularly for HP

        o, IBM support site. Look in contains a
        free (time limited) demo of APL2 for Windows, and TryAPL.

        The site of Committee Draft 1 of the APL ANSI/ISO standard
        (1/93) in:
             pub/plan/apl/  (a cover letter)
             pub/plan/apl/ (the main document)

        some NEXT/J material: j.pkg.tar, Visage.pkg.tar

        o (
        This mirror of the APL Archives on watserv1 may be more
        convenient for users in Europe.  Start in the directory /pub/lang/apl

o Web (WWW) html servers:

        o ACM SIGAPL - information about the ACM, SIGAPL, related
        organizations, conferences, Internet resources, and the APL
        White Pages.

        o AFAPL - French APL users group.

        o APL White Pages
        A collection of names and email adressess of those
        interested in APL. Over 300 listings.
        To be listed, or see a listing go to

        o Bob Armstrong's CoSy page - APL/K notecomputing environment (10/2001), or

        o APL2000 Inc. Home Page

        o APL Software Team GmbH - German distributor of Dyadic APL

        o The Brighton University Resource Kit for Students, produced by
        John English (with various APL resources)[broken?

        o Bernard Houben's site, IQL, Dyalog APL

        o Dyadic

        o Eke van Batenburg's APL webpage:

        o FinnAPL, Tauno Ylinen's FREEAPL for Windows, a couple of
        Dyalog workspaces, and APL idioms list

        o Conrad Hoesle-Kienzlen's web page,
        CHK IT-Consulting

        o IBM APL2 Home Page

        o The IBM 1130 - including a simulator for this HW on a
        modern machine, and APL\1130.
        o J and APL Web Ring
        Web-ring moderated by  Alex Kornilovski:

        o J Home Page

        o J. E. Howland's Home page; APL/J references

        o J.E.H. Shaw's Home page; J Guide

        o K. Smillie's Home page; Various information for J, Beginning
        J, J and statistics

        o Learning J - web book on J by Roger Stokes (second draft 11/99)

        o Lescasse Consulting - importer, distributor for APL2000 in France

        o Milinta - Software and education for a variety of
        APL's. Help with workspace/file transfer between some APLs.
        (Dyalog, APL+family, SHARP MF, SAX)

        o Mozilla Open Directory project

        o Openhere Network - Web search engine written in APL

        o Porting Mind.forth to APL

        o Rex Swain's APL Information

        o Web site for Les Nouvelles d'APL

        o Web Site for Lingo Allegro:

        o MicroAPL Limited

        o Q'Nial - a similar array language

        o Soliton's web page (Main Page) (Sharp APL for Linux)

        o Toronto SIG - various information, back issues of the
        newsletter Gimme Arrays!

        o Uniware (APL+Win and Dyalog APL/W, for now) (english)    (french)

        o Web site for Vector (maintained by Ray Cannon)

        o Jim Weigang's Home Page - Newsreader etc.

o Mail servers (, in the list APL-L,
     archives of comp.lang.apl - mail access to waterloo, gatekeeper

o Mail servers/lists
     BITFTP@PUCC.BITNET - access to waterloo

     Access to the APL-L on bitnet from the internet can be done via

        Subject: SUBSCRIBE APL-L

                     for Dyalog users
                     UCD APL Interest Group "virtually extinct"
       APL-L         APL-L@UNB.CA,
                     APL-L@UNBVM1.BITNET (broken?)
                     APL Language Discussion (mirror of comp.lang.apl)
                     APL in Education

Section 1 of 2 - Prev - Next

Back to category Programming - Use Smart Search
Home - Smart Search - About the project - Feedback

© | Terms of use