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

10/25/2015 remove a bunch of dead links; modify some.

## First, what is APL?

APL is the first array processing language (that I know of anyway). The following was extracted from http://www.acm.org/sigapl/whyapl.htm [10/2015 gone].

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 handling).

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

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?

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 ftp://rtfm.mit.edu/pub/ (where all the autoposted faq's are archived), in particular ftp://rtfm.mit.edu/pub/usenet-by-group/comp.lang.apl/APL_language_FAQ. Another good place for faq archives is http://www.faqs.org/faqs/, with this faq at http://www.faqs.org/faqs/apl-faq/. The latest html version of this faq is at http://home.earthlink.net/~swsirlin/apl.faq.html

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

(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 codes. Bert Arias Apex Computer Specialists, Inc. 1502 West 400 South, Suite #2 Orem, UT 84058-5100 Tel: 888-887-2739, Ext. 3357 Int.l 1-801-223-3357 Fax: 801-223-9955 e-mail: barias@apexcs.com Chameleon TN3270 for Windows, networks, IBM 3179G and 3192G emulation, SAA, APA graphics. NetManage 10725 De Anza Blvd., Cupertino, CA 95014, U.S.A. Tel: 408/973-7171 Fax: 408/257-6405 email: Donna@NetManage.com 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 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 http://www.chiark.greenend.org.uk/~sgtatham/putty/ A free implementation of Telnet and SSH for Windows and Unix platforms. Can be used as an APL terminal emulator when used in conjunction with the APL385 font and the Dyalog UnicodeIME (available from http://www.dyalog.com/apl-font-keyboard.htm). RUMBA (for 3270, APL and graphics) Wall Data 17769 NE 78th Place Redmond WA 98052-4992 206-883-4777 Apparently available here:https://www.attachmate.com/products/rumba+/. OpenAPL has support for X11 terminals, but this may not match character orderings for other APLs. Sun reportedly has a very good emulator (dtterm) for SunOS 4 and Solaris 2 which emulates an IBM 3179G APA colour graphics terminal. Part of CDE, so probably obsolete. TN3270 (Macintosh) Not public domain, but may be freely distributed. Works with TCP/IP See the homepage at Brown http://www.brown.edu/cis/tn3270/ May also be here? ftp://ftp.ncsa.uiuc.edu/ BITNET distribution from LISTSERV@BROWNVM: Send LISTSERV the command GET TN3270 PACKAGE. GET LOCAL FILELIST for a complete list of available files. x3270 for Unix systems (Linux, Solaris,...) A free 327x emulator with APL support. Get the source from http://x3270.bgp.nu/download.html, or see the home page at http://x3270.bgp.nu/. An older version is here ftp://ftp.x.org/contrib/applications. 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 LISTSERV@YALEVM http://www.uic.edu/depts/adn/infwww/txt/v3113001.txt 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

Dyalog keyboard
US, UK and Danish available. Other languages would be considered if the demand was great enough. Contact Dyalog for more information.
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 email:dick_holt@email.com

(4)   Q: Can I compile APL?
A:
Compilers

APL2C APL2C compiler/translator and interpreter, for Microsoft Windows 9x/NT/2000, written by Dr. Tilman P. Otto http://www.apl2c.com email: otto@apl2c.com APL to C conversion and compiler - I've heard this is out of business these days. Sofremi-AGL 6. rue Paul Bert 92800 Puteaux - France (1) 47.72.25.13 + Telex: 612 651 F Manugistics compiler for IBM 370 APL*PLUS, documented in APL '85. see Manugistics listing above, or email aplsales@manu.com. VisualAPL from is a .Net language integrated with Microsoft Visual Studio 2005/20008 which provides for both compilation and scripted/interpreted code. [10/2015 no longer available?] Experimental: Robert Bernecky's APEX compiler: Snake Island Research Inc. http://www.snakeisland.com/[9/2003] email:bernecky@acm.org Tim Budd's APLc: anonymous login to ftp.cs.orst.edu, cd users/b/budd, or http://web.engr.oregonstate.edu/~budd/ and look under books. (latest C++ version unavailable?) Sam Sirlin's current modification of Budd's older aplc ported to Solaris, Freebsd, Atari, Linux, Dec Alpha support for most of ISO APL, control structures, boxed arrays support for hypercomplex numbers (ordinary complex, quaternions, octonions) v5.12 is stable version (mostly flat APL) v6.18 is the development version (anonymous fns, more operator support) See http://home.earthlink.net/~swsirlin/apl.html or send mail to swsirlin@earthlink.net asking for it Thomas Glen Smith's CAPLIB2 package, while not strictly a compiler Has C procedures corresponding to APL functions/operators (see above) Paul Jackson's Free APL compiler, written in .net, is available from http://plj.myfreesites.net/PLJsAPL A list of references on APL compilation is available ftp://archive.uwaterloo.ca/languages/apl/bibliography/compilers.html[dead 3/2006]

(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 Tel: +358 9 70028820, Fax: +358 9 70028824 email: dinosoft@dinosoft.fi >http://www.dinosoft.fi/[10/2015 dead] Interprocess Systems, Inc. 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, for PC or mainframe IBM. Also a newsletter. Zark Incorporated 23 Ketchbrook Lane Ellington CT 06029 USA 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:

1. Fonts for TeX, laTeX, the X windows system, postscript, and truetype (windows) are available. See http://www.math.uwaterloo.ca/apl_archives/apl/fonts[4/2009]

2. Truetype fonts for windows are available from ISI.

3. Dyalog's fonts for Windows are available from http://www.dyalog.com.

4. 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)

5. 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).

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

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

8. Paul L Jackson's pljtools.zip 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 http://www.math.uwaterloo.ca/apl_archives/apl/apl-plus/index.html and (with APLSE) [5/05]:
http://plj.myfreesites.net/APLse

9. A variety of fonts and tools is available from Vector: https://sites.google.com/site/baavector/fonts

10. Emacs can display APL fonts, see http://www.emacswiki.org/emacs/AplInDebian

11. Unicode fonts such as https://www.gnu.org/software/freefont/ can display APL glyphs

(7)   Q: What information exists online about APL?
A:
Online information, free* APLs & WS

1. Anonymous ftp servers:

2. Web Sites:

3. Wiki -- websites that allows visitors to add, remove, and edit content

4. Mail servers

listserv@listserv.unb.ca (listserv@unb.ca), in the list APL-L, archives of comp.lang.apl ftpmail@decwrl.dec.com - mail access to waterloo, gatekeeper

5. Mail servers/lists

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

```        To: listserv@unb.ca
Subject: SUBSCRIBE APL-L
SUBSCRIBE APL-L```
 DyalogAPL t-chan@u-aizu.ac.jp for Dyalog users APL-ERS APL-ERS@IRLEARN.BITNET 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) APLEDU-L APLEDU-L@UNBVM1.BITNET APL in Education A+ http://www.aplusdev.org/Lists/index.html A+ mail list, archive J Forum http://www.jsoftware.com J mail list, archive

6. Inquiries about the ISO APL standards should be addressed to your national standards body, or to any delagete from your country. If you can not find out who that is, you may ask Lee Dickey at ljdickey@math.uwaterloo.ca (SC22 WG3 attendees)

7. SIGAPL Software Library

New Name, New Addresses:

SIGAPL has made major changes in its software distribution system. The SIGAPL Software Library replaces what was formerly known as the "Software Exchange." SIGAPL wants to make array processing software much more widely available and easy to get. We want it to be decoupled from annual APL conferences, available year-round, unbundled by interpreter, and electronically free. Thanks to Lee Dickey at the University of Waterloo, this software is now available at:

APL96 Conference Software Highlights:

 MERLIN Two new AWS mind bogglers (Langlet, FR) GRAN AWS []G Graphics (Buzin, RU) NFILES W3 Long file names, National Characters (Glantz, SE) APL2OS2T APL2/2 Tutorial for OS/2 (Jizba, US) APLSE Free APL*PLUS v10 Interpreter (Manugistics/APL2000) LRNAPLSE APLSE Tutorial & Documentation (Holt, US) UNLOCK-D Unlock locked fns in any small AWS (Holt, US) SL-Guide How to add to the SIGAPL Software Library

SIGAPL Software Guidelines:

The SIGAPL Software Library (SL) is the premier venue for APL, J, and other array-oriented authors to display their programming ideas and skills, and for vendors to showcase their demos and products. APL and J software authors and vendors are invited to send their material on a 3.5 ″ DOS disk to:

Lee Dickey, Mathematics Department
University of Waterloo
Waterloo Ontario

Tell him that it's for the Software Library. You may send your software at *any* time of the year. FTP upload is available on demand. Write to Lee Dickey at ljdickey@math.uwaterloo.ca

SIGAPL's updated Software Library guidelines are:

• Include an ASCII file (call it WSNAME.TXT) to describe what the software does, and what hardware and software is needed to use it. English is preferred, and other languages are welcome.

• Think electronically. Your software needs to be packaged as a stand-alone product for electronic distribution. Good documen- tation adds real value to your software.

• Put all of your material in one single .ZIP file for easy FTPing.

• Include any needed copyright permissions. Copyrighted software can't be distributed without permission.

• If possible, provide APL software in both its original form and as an APLACSCII file. APLASCII software (v1.4) is available for all major APLs at the electronic sources listed above.

• Check your software for viruses. Archive.waterloo.ca will also check your software for viruses.

• Authors should pay special attention to the quality, usefulness, and documentation of their work, and should include their name and address (including email).

• Significant improvements and major updates of prior SL software are welcome.

(8)   Q: How do I get book Y?
A:
Sources of Publications/Books

(9)   Q: What good APL books exist?
A:
Reference Books

References - books mentioned on the net or that someone has recomended, not all of which are available:

For another list online see: http://www.math.uwaterloo.ca/apl_archives/apl/bibliography/index.htmlNot fully working yet [11/2006]

• APL"nn" Conference Proceedings - The annual ACM/SigAPL conference proceedings, published yearly from 19?? (APL??) to date (APL96) as an issue of APL Quote Quad; replace nn by the appropriate last two digits of the year.

• Ajay Askoolum, "System Building with APL + WIN," Wiley, ISBN: 0-470-03020-8, August 2006. Available at http://www.amazon.com/System-Building-APL-WIN-RSP/dp/0470030208 and other sources.

• Brown et. al. "APL2 at a Glance," Prentice Hall, ISBN 0-13-038670-7.

• T. Budd, "An APL Compiler," Springer-Verlag.

• Maurice Dalois, "Introduction to APL*PLUS PC," available from EducAPL, US\$30, US\$10 for overseas shipping.

• J. Ever and C. Fair, "Guidelines for APL Systems," DPD 22 IBM 037301, March 1976.

• Gilman and Rose, "APL - An Interactive Approach," Wiley, ISBN 220-471-30022-5.

• Ulf Grenander, "Mathematical Experiments on the Computer," Academic Press, 1982, ISBN 0-12-301750-5.

• Kent Haralson, Useful APL Defined Functions, IBM Technical Report, TR 00.2409, Feb. 8 1973.

• Timothy Holls, "APL Programming Guide," IBM G320-6103, 1978, and G320-6735, 1981, (out of print?).

• IBM, "APL2 Programming: Language Reference" (Version 2, SH21-1061; Version 1, SH20-9227 (DOS only)).

• IBM, "The APL Handbook of Techniques", IBM publication number S320-5996, April 1978. Includes routines for multi-precision integer and float operations.

• The IBM System Journal, V. 30, No. 4 (1991); Special Issue Devoted to APL.

• IBM online references: http://www-306.ibm.com/software/awdtools/apl/library.html

• A.D. Falkoff, K.E Iverson, E.H Sussenguth, "A formal description of System/360,"
The IBM System Journal, V. 3, No. 3 (1964)

• K. E. Iverson, A Programming Language, Wiley, 1962.

• K. E. Iverson, Algebra : an algorithmic treatment, APL Press 1977, Copyright 1972 by Addison Wesley, Preliminary Edition entitled "Elementary Algebra" Copyright 1971 by IBM Corporation.

• K. E. Iverson, Elementary analysis, APL press 1976, Preliminary Edition "Elementary Functions" Copyright 1974 by IBM Corporation ISBN 0-917326-01-6

• K. E. Iverson, An introduction to APL for Scientists and Engineers, APL Press 1976, First published by IMB Corporation as Technical Report No 320-3019 March 1973 - ISBN 0-917326-04-0

• K. E. Iverson, APL in exposition, APL Press 1976, First published by IBM Corporation as Technical Report No 320-3010 March 1973 - ISBN 0-917326-02-4.

• K. E. Iverson, Introduction To APL, (1984-APL Press Palo Alto) ISBN 0-917326-14-8.

• K. E. Iverson, "A personal view of APL," IBM Systems Journal, Vol. 30, No. 4, 1991.

• K. E. Iverson, Concrete Mathematics Companion.

• S. Kamin, "Programming Languages: An Interpreter-Based Approach," contains (among other things) toy implementations of Lisp, APL, Scheme, SASL, CLU, Smalltalk, and Prolog, Addison-Wesley, 1990, ISBN 0-201-06824-9.

• Bernard Legrand, "Les APL Etendus," Masson, Paris, 1994. An introduction to modern APL (French).

• Bernard Legrand, "Mastering Dyalog APL - A Complete Introduction to Dyalog APL," ISBN-10: 0956463800 / ISBN-13: 978-0956463807 Available for download from http://www.dyalog.com/mastering-dyalog-apl.htm, or can be purchased from Amazon (see link on http://www.dyalog.com/intro/).

• Jon McGrew, "An Introduction to APL2," IBM (SH20-9229).

• James A. Mason, "Learning APL: An Array Processing Language," Harper & Row Publishers Inc., New York, 1986, ISBN 0-06-044243-3 260 pp.

• Peelle, APL an Introduction, Holt, Rinehart & Winston, ISBN 0-03-004953-9.

• Reiter & Jones, APL with a Mathematical Accent, Brooks/Cole ISBN 0-534-12864-5, (now being distributed by Chapman & Hall).

• C. Reiter, Fractuals Visualization and J, Iverson Software, Inc, 1995 ISBN 1-895721-11-3.

• Adrian Smith, "APL, A Design Handbook for Commercial Systems," Wiley series in information processing, Wiley & Sons, 1982, ISBN 0-471-10092-7.

• D. Stiers, M.J. Goovaerts, J. De Kerf, "APL - The Language and its Actuarial Applications"

• Norman D. Thomson, Raymond P. Polivka, "APL2 in Depth," Springer-Verlag, 1995, ISBN 0-387-94213-0 (\$39.95).

• Jerry R. Turner, "APL IS EASY!," Manugistics, 1993.

• "SHARP APL Reference Manual," 2nd ed., Soliton Associates Limited PC Version: Iverson Software, 1993, ISBN 1-895721-07-5.

• Jim Weigang, "APL Notes," An introduction to APL that includes 16- and 32-bit APL*PLUS
interpreters. For orders and more information, see:
http://www.chilton.com/~jimw/aplnotes.html

• "A Source Book in APL," APL Press, 1981, ISBN 0-917326-10-5.

• "J Phrases," Iverson Software, 1996, ISBN 1-895721-12-1

• "Exploring Math", Iverson Software, 1996, ISBN 1-895721-13-X

• "J Primer," Iverson Software, 1996, ISBN 1-895721-14-8

(10)   Q: What user groups exist?
A:
User groups

Note that information on officers may be somewhat out of date.

ACM/SIGAPL
Association for Computing Machinery / Special Interest Group on APL, international membership.
Quarterly journal Quote Quad. Chapter groups around the country.

Association for Computing Machinery
New York, NY 10036
Tel: (212) 626-0500
email acmhelp@acm.org
```                             CALL FOR PAPERS [8/30/2005]

The next issue of APL Quote Quad is being designed. Prospective authors
are encouraged to submit papers on any of the usual subjects of
interest related to Array-Processing Languages (APL, APL2, J, and so
forth). Submitted papers, in Microsoft Word (.doc), Rich Text Format
(.rtf), Openoffice format (.scw), Latex (.tex) or Acrobat (.pdf)
should be addressed to
Manuel Alfonseca
Manuel.Alfonseca@uam.es
with copy to:
Antonio Annibali
Antonio.Annibali@uniroma1.it
and Mario Sacco
mario.sacco@acm.org

Care must be taken to make the submitted papers self-contained,
eg. if they require special APL typesettings. The tentative time limit
for the new material is September 30th, 2005.```

APLBUG [10/12/2013]
APL Bay Area Users Group, Northern California ACM SIGAPL
Meets irregularly.
Chairman: Chuck Kennedy (408)241-2920 Charles-Kennedy@comcast.net Charles Schulz caschulz@earthlink.net Curtis Jones 228 South 15th Street San Jose, CA 95112-2150 curtis_jones@ieee.org

BACUS
Belgian APL CAM Users Society
APL CAM Journal (4 issues / year in French, Dutch, English) and other publications. fee: 500 BEF
c/o Joseph De Kerf
Rooienberg 72
B2570 Duffel BELGIUM
tel.: 32-15-31 47 24

BAA (11/1/98)
BAA British APL Association, a specialist group of the British Computer Society, international membership.
Quarterly journal VECTOR maintains a comprehensive vendor and product list. See the vector page for current information: http://www.vector.org.uk
Chicago APL SIG
Larry Mysz
Chicago APL SIG
836 Highland Drive
Chicago Heights IL 60411, USA
email: 73040.3032@compuserve.com
Connecticut APL group
Bob Pomeroy
Mass Mutual Life
1295 State Street
Mail Drop F465
Springfield MA 01111 USA
Tel: +1 413 788 8411 x2838

Denmark
APL Special Interest Group of the Danish Data Association (DDA) [4/2000]
Helene Boesen
email: hb@insight.dk
Dutch APL User Group [perhaps defunct? 8/2010]
APL Werkgroep Nederland
President: Theo Zwart OASIS Lekstraat, 4 NL3433 ZB Niewegein The NETHERLANDS Tel: +31 3402 66336 Fax: +31 3402 65844 B. Smoor Dorpstraat 50 4128BZ Lexmond The Netherlands Eke Van Batenburg

AFAPL (1/2005)
Association Francophone pour la promotion du langage APL
Les Nouvelles d'APL (journal 4/year) and other publications in French. fee: 350 franch francs in France, 450 FF abroad, 2800 FF for firms.
174, bd de Charonne
75020 PARIS
FRANCE
Tel & Fax: (33)-1-43-56-31-79)
President: Jacques Bouchard Ludmila Lemagnen

email: lemagnen@aol.com
www: http://www.afapl.asso.fr

APL Germany [10/2010]
c/o Dr. Reiner Nussbaum
Buchernerstr. 78
D-69259 Mannheim, GERMANY
Tel: +49 621 7152190
email: info@apl-germany.de web: http://apl-germany.de

Groupe APL-J\Québec (Quebec)[11/13/98]
APL user group in Québec (city)
Gilles Kirouac, président
email: gkirouac@riq.qc.ca
Japan APL Association (JAPLA)
Japanese APL/J interest group.
Monthly meetings at every 3rd Saturday and hold study APL /J.
Currently published JAPLA's journal 2 times / year. We welcome to our associate member who has an interest in APL/J.
JAPLA's Office: c/o PRIDE Masujima Bldg. 1-8-13, Higasi Gotanda, Shinagawa ku, Tokyo, 141 JAPAN Tel: 81-3-3280-0411 Fax: 81-3-3280-0418 Dr. Tosio Nishikawa Laboratory National Chemical for Industry Higashi 1-1, Tsukuba, Ibaraki, 305, Japan Masafusa Yasuda 2-4-10, Nogata, Nakano ku, Tokyo, 165, JAPAN Tel/Fax: 81-3-3319-1956 email: myasuda@mix.or.jp

APL Club Oesterreich
APL Club Oesterreich
Obere Donaustrasse 95
A-1020 Wein, AUSTRIA

Rome/Italy ACM SIGAPL
Casella Postale 14343
00100 - Roma Trullo, ITALY

Chair: Mario Sacco email: marsac@vnet.ibm.com David Lanari Universita di Perugia Piaza dell'Universita 2 Via G. Verga 30 I06100 Perugia, ITALY email: david@ipguniv.bitnet

NY/SIGAPL [revised 8/10/98]
The New York City local chapter of ACM SIGAPL.
Monthly meetings (ex July/August), newsletter "Big Apple APL", "APL as a Tool of Thought" miniconferences, approx. annual.
Dues \$35, \$25 for ACM or ACM SIGAPL members, \$10 for students.
PO Box 2697
New York,
NY 10163-2697
USA
Chairman: David E. Siegel Tel: 609-734-9554 (work) email: Siegel@acm.org Jim Boyd Tel: +1 914-941-9239 email: jhb@acm.org Lynne C. Shaw Tel: +1 212-662-2406 email: shaw@acm.org

Potomac ACM SIGAPL
The Potomac ACM SIGAPL Chapter has been inactive since August 1996. For information about Potomac SIGAPL, send email to Dick Holt (dick_holt@email.com).
SEAPL
South East APL Users' Group
Doc Manges
email: SEAPLDOC@aol.com
Tel: 770-972-3755
413 Comanche Trail
Lawrenceville GA 30244
Other contacts:
Gordon and Stella Chamberlain
Interprocess Systems, Inc.
SOCAL-SIGAPL
SOCAL-SIGAPL Southern California APL user's group. Inactive. [7/2004]
Editor: Arthur J. Stasney astasney@earthlink.net (Arthur J. Stasney) jizba@gte.com (Zdenek V. Jizba)

SovAPL
Alexander O. Skomorokhov
P.O. Box 5061
Obninsk - 5
Kaluga Region
RUSSIA

Dr Alexander Skomorokhov
Obninsk Institut of Nuclear Power/IATE
Studgorod 1
Obninsk
Kaluga Region 249020
RUSSIA
Tel: +7 084439 31463
Fax: +7 095 2552225
Suomen APL
Suomen APL-yhdistys ry (Finn APL Association) about 4 informal newsletters/year, mainly in Finnish, one English issue/year.
Membership fees,per year: 100 Fmk (about 20 \$). (March 1998)
Address: Box 1005, 00101 Helsinki, Finland Timo Korpela (1998) The Central Pension Security Institute SF-00065 Elaketurvakeskus, Finland Tel: +358 9 1512164, Fax: +358 9 1512496 http://www.finnapl.fi/

SWAPL
SWAPL -- SouthWest APL Users' Group
 Membership fees, per year USA \$12 Non-USA postal supplement \$6
c/o Stuart Yarus (newsletter editor)
P.O. Box 210367
Bedford, TX 76095 U.S.A.
(817) 656 5896; (817) 577 0165
Compuserve: 73700,2545
Internet: 73700.2545@compuserve.com
SwedAPL
Chairman is Christer Ulfhielm.
c/o Novator Consulting Group AB
Svardvagen 11C
S-182 33 Danderyd
Sweden
Tel: +46 8 6226350
Fax: +46 8 6226351
email: 100341.404@CompuServe.com (Christer Ulfhielm)
Swiss APL User(s) Group
Hans Steffen
Swiss APL User Group
c/o Federal Statistical Office
CH3003 Berne
SWITZERLAND
Fax: +41 31 382 27 95

Dr. Hanspeter Bieri
Institut fur Informatik
Universitat Berne
Langgasstrasse 51
CH3012 Bern
SWITZERLAND
Tel: +41 31 65 86 81
Fax: +41 31 65 39 65
email: email:bieri@iam.unibe.ch
email: si@ifi.unizh.ch
Sydney APL Users Group
Newsletter (with contributions from Melbourne group): "Epsilon" Acting President and Treasurer: Nick Laletin, Jr.
PO Box 1511
Macquarie Centre,
North Ryde 2113 Australia
Tel: +61 02 427 1605
Fax: (02) 257 6670
Secretary: Erik Nielson
Tel: +61 2 257 5742

Toronto ACM APL SIG
Toronto ACM APL SIG [8/2007]
http://www.torontoapl.ca
Chair: Dan King
email: danking(at)sympatico(dot)ca
Secretary: Richard Procter
email: rjp(at)aplborealis(dot)com

(11)   Q: What's the latest APL conference?
A:
Conferences

NY/SIGAPL
APL as a Tool of Thought
Held Yearly in NY
Last Held: 31 January 1998

The APL2000 Customer Conference
The 2000 APL2000 Customer Conference http://www.apl2000.com/2008UserConference.php
The Annual ACM SigAPL Conference
[No longer held]

Previous ACM SigAPL Conferences

APL2002: Array Processing Languages Lore, Problems and Applications, July 22-25, 2002, Madrid, Spain.
APL2001: An Arrays Odyssey, June 25-28, 2001, Yale University, New Haven, CT, U.S.A.
APL Berlin 2000: The 2000 International Conference on Array Programming Languages
Think Arrays in a Great City, July 24-27, 2000 - Berlin, Germany

APL99: The 1999 International Conference on all Array Programming Languages
August 10-14, 1999 - University of Scranton, Scranton, Pennsylvania, USA See the ACM SIGAPL website, or subscribe to the APL99 mailing list. You can subscribe by sending email to listserve@acm.org with "Subscribe APL99-Info Your Name" in the BODY of the msg (without the quotes). You will be requested to confirm your subscription. You will receive an automatic welcome msg and updated information as it is available.

Previous conference proceedings are available from ACM as issues of APL Quote Quad.
Dyalog User Meeting
See http://www.dyalog.com/user-meetings/index.htm
SIGAPL Software Library
All Conference Packages, for all years, will be available from SIGAPL and the Waterloo Archives at http://www.math.uwaterloo.ca/apl_archives/apl/Welcome.html[partially back 3/2006]

(12)   Q: How do I pass APL functions from one APL to another?
A:
Migration of applications

Different APL vendors store workspaces in completely different formats. This has greatly reduced sharing of functions among users, and made it difficult for users to migrate between vendors and even between machines. Here there are some options -

1. Use the Workspace Interchange Standard (WSIS), documented in the ISO standard. This has been partially implemented by various vendors. For example Manugistics (STSC) uses an SLT workspace to do the reading/writing.

2. Use the IBM )in and )out .atf files (documentation?) Here are some concrete instructions, courtesy of Eke van Batenburg,

You only port APL, no GUI, no file I/O, no graphics, no locked objects. The following recipees use (arbitrary choosen) filename TRANSW.ATF on floppy as intermediate. "<>" means "next line".

1. Macintosh APL68000 export to floppy:
[]MOUNT'Untitled' <> )OUT 0 TRANSWS
In finder, change file name to "TRANSWS.ATF"

2. Macintosh APL68000 import from floppy:
In finder, change file name to "TRANSWS" (without ".ATF" extension!!!)
[]MOUNT'Untitled' <> )IN 0 TRANSWS Problems:
"INVALID FILE" can mean "SYMBOL TABLE FULL" (check ")SYMBOLS" and increase them to 1000) or comment lines in file (remove all lines beginning with "*" using any editor and try again).

3. Atari APL68000 export to floppy:
[]MOUNT 'A:' <> )OUT 0 TRANSWS

4. Atari APL68000 import from floppy
[]MOUNT 'A:' <> )IN 0 TRANSWS
Problems: same as in point 2.

5. IBM APL2/PC export to floppy:
)HOST A: <> )OUT TRANSWS

6. IBM APL2/PC import from floppy:
)HOST A: <> )IN TRANSWS
Problems: none experienced upto now

7. IBM mainframe export to floppy:
start APL with "APL2 CASE(2)" (necessary for underscored conversion)
)CLEAR <> )COPY workspacetobeported (NOT LOAD!!!!)
)OUT TRANSWS <> )CLEAR <> )IN TRANSWS <> )OUT TRANSWS
(yes, 2x seems to work, 1x sometimes gives gibberish, I don't know why)
Download ....APLTF.TRANSWS to floppy, rename to TRANSWS.ATF
Problems: if you download with Kermit: set TEXTMODE OFF and set file TYPE BINARY

8. IBM mainframe import from floppy
I have no experience with this, but I suppose:
Upload TRANSWS.ATF to file ...APLTF.TRANSWS
)IN TRANSWS

9. APL2000 APL+DOS, APL+UNIX, APL+Win export to floppy:
]OUT A:TRANSWS.ATF

10. APL2000 APL+DOS, APL+UNIX, APL+Win import from floppy:
]IN A:TRANSWS.ATF
Problems: Different from IBM or APL68000 or "extended standard" are: "A B C[2]" is B, partioned enclose, squeezed quad, monadic ",[1.5]", take with axis and scalar functions with axis.

11. Dyalog APL:
Dyalog includes User Commands for workspace transfer; these are documented in the Workspace Transfer Guide, supplied with Dyalog APL.

12. APLX reportedly provides )IN and )OUT commands compatible with APL2/PC and APL2/370.

13. NARS2000 also supports migration through .atf files written out by )OUT and read in by )IN.

3. Write the functions/data out to ASCII files using some sort of transliteration scheme (see 11). This has the advantage over (1) that the files are human-readable and editable.
4. VisualAPL from APL2000 provides two simple options for importing APL code from legacy APL's:
1. Select the APL code in the source APL's session and Paste Special it into VisualAPL in Microsoft Visual Studio 2005/2008.
2. An ActiveX component is provided with VisualAPL to en masse convert the legacy APL code to Unicode and store it in a text file which can be used by VisualAPL.
VisualAPL does not use a proprietary workspace format for storing APL code, instead it stores APL code in Unicode text files which can be run as interpreted APL scripts or as compiled APL .Net classes using Microsoft Visual Studio 2005/2008. VisualAPL Unicode text files can also be directly compiled without Visual Studio using the command line compiler provided with the Microsoft .Net framework.

VisualAPL does not use a proprietary APL 'session', but instead uses the mainstream Microsoft Visual Studio 2005/2008 IDE [Interactive Development Environment].

All schemes suffer from the basic incompatibility between APL vendors. This comes from extensions to standard ISO APL in several areas:

1. Different built in functions - the quad functions. This includes file IO, graphics etc. Also the (mostly obsolete) ibeam functions.
2. Generalized arrays - boxes versus nests. A major fight in the community for at least the last 10 years. Unresolved.
3. User defined operators - not all implementations allow this.
4. Multivalent functions - not all implementations allow this.

Each instance of the above requires someone who knows both implementations to rewrite the code. Hence only ISO APL is easily portable.

(13)   Q:How do I write APL using only ASCII?
A:
Writing APL in ASCII

Almost all vendors have provided ways to enter APL from non-APL terminals. They took forms such as @BOX for example. For some reason however, they all used different symbol sets and different transliterations. Hence all are incompatible. Various users, seeing the advantage of this approach versus the WSIS have tried their hands.

I there are several separate issues: writing an APL character, writing APL data, writing APL functions, and writing out a whole workspace.

Approaches for APL characters :

1. Jim Weigang has proposed a verbose version that is probably the current standard.
http://www.chilton.com/~jimw/a2apapr1.html Example:
`s {<-} +/ {rho} , a`
Transliteration programs for many APL's are available at
http://www.chilton.com/~jimw/a2ardme.html [this link works, but the program links point to inaccessible parts of waterloo... this currently gets to real programs: http://www.math.uwaterloo.ca/apl_archives/apl/software-library/apl95/]

2. My own approach is a bit more terse - see aplc, symbols3v1.txt on my home page
Example:
`s  .is + / .ro , a`

3. William Chang (wchang@phage.cshl.org) has proposed a J-ish verion called APL!
Example:
`s  <- +/ ? , a`

Approaches for objects:

1. John Mitloehner (mitloehn@uxq.wu-wien.ac.at) has proposed a PP scheme for this that includes data and functions. See his article at APL92. Code for various APLs is available at waterloo. Example:
```   @begin function NUB
R@is NUB X
R@is ((X@iota X)= @iota @rho X)/X
@end function
```
Code is also available for incorporation of APL into latex documents. See J. Mitlohner (1992), Porting APL Programs via ASCII Transliteration. APL Quote Quad, 23(1):148-155.

2. Jim Weigang proposes the more familiar "Del editor" output format. Sample code for this translator is available in this format.

(14)   Q:What about Unicode?
A:
Writing APL in Unicode
This section needs some work

Unicode (http://www.unicode.org/) was conceived as a way of storing data in any of the worlds languages. This includes APL. Most modern computer OS seem to support this. Most modern APLs natively support unicode now. Of course fonts are needed, and programs that can display/interact with the data. Most (all?) fonts are incomplete, as there are a lot of glyphs need to represent everything, so of course many don't include all APL characters (or Devanagari, Tibetan,...).

*free usually means you can get it for free from the net, or pay small media/documentation charges to get it from the vendor.