What's New?

Getting Started

APL On The Net

Articles & Programs

Other APL Sites


APL On The Internet

APL is discussed in the Usenet comp.lang.apl newsgroup, which is mirrored by the APL-L mailing list. The group is like a freewheeling APL journal that's updated daily. If you are interested in APL, you should check the group frequently and see what's being discussed. If you have questions, post away. It's the easiest way to reach the wordwide community of APL programmers.
Accessing comp.lang.apl   How you can read and post to the group using either a newreader or e-mail, and some advice for first-time posters.
FAQ for comp.lang.apl   Sam Sirlin's answers to Frequently Asked Questions. Vendor addresses, an APL bibliography, names of user groups, and more. (Some of the information is a bit stale, though. Bitnet? Did I read bitnet?) A text version is available as well.
APL Newsreader and comp.lang.apl Archive   In the days before DejaNews, Usenet postings would be available for a few days or weeks, and would then disappear forever. I started archiving comp.lang.apl postings in 1994 and wrote an APL newsreader to browse the archive. For a while I even distributed the archive through a kind of chain-letter deal. (I still have some envelopes that circumnavigated the globe carrying c.l.a disks to interested APLers.) Well, the net's grown up and sites like DejaNews have taken over the archiving duty, and I finally stopped collecting c.l.a postings at the end of 1998. The old stuff is still interesting (and isn't available on DejaNews), and it's still available as described on this page, but newer postings aren't. Surprisingly, the APL Newsreader is alive and well--it turned out to be a remarkably useful tool. I use it to archive my e-mail, and at work we use it to maintain the archive of difference listings as we change our big pension valuation application (ProVal).
Why is J discussed in comp.lang.apl?   Before they set up their own mailing list, Jers used to hang out on comp.lang.apl. (APL and J are sister languages, literally, and have a lot in common.) People asking for programs would reliably get J solutions along with the occasional APL solution, and some APLers used to complain bitterly about this. This page was my attempt to stop the bickering from reërupting. Well, the Jers are gone now and comp.lang.apl is pure again, but it's a whole lot quieter than it was before they left (and to my mind less lively and interesting). This page is just a Usenet historical relic now.

A fundamental problem with discussing APL on the Internet is APL symbols, which can't be included directly in e-mail, news postings, or web pages. One common solution is to represent symbols with keywords such as {rho} and {iota}. In small quantities, the translation between symbols and keywords can be done by hand. For larger jobs, the APLASCII workspace can be used to automate the process.
About {keywords}: APL-ASCII Transliteration   A quick overview of the process, including links to the APLASCII workspace (which is available for most modern APL systems), and two technical papers that describe the process in detail.
Transferring Workspaces   Moving programs and data between different APL systems can be quite a chore. This describes an easy way to get the job done using the APLASCII workspace.

Downloading Code
The APL programs on these pages can be extracted and defined in your APL system without you having to retype them. (This is true even for recent pages which display APL code as graphic images.) Here's how:
Getting Ready
1. Download the version of the APLASCII workspace for your APL system. See the APLASCII ReadMe file for download links and installation instructions. Note that you must to run the INSTALL function in the APLASCII workspace after downloading. This produces an A2A workspace containing the working programs.
2. Update your A2A workspace. Download the A2AUPDT.TXT file by clicking the link to view the file, then using your browser's File | Save As command. Next, )LOAD your A2A workspace and execute:
where path is the path to the directory in which you saved the file. This command will ask you to execute a couple of additional commands and then save the workspace. Do so. Your A2A workspace is now ready to use.

Extracting Code
1. Use your browser's File | Save As command to save the web page containing the code you want. Note the name of the file and path as you save it.
2. Start your APL system and )LOAD the A2A workspace. Execute the following command to extract the code:
Where filename.ext is the path, name, and extension of the page you just saved. DEFINEFNS will return the names of the functions and variables it defined.
3. Some pages contain transliterated code samples that you may want to see in normal APL symbolic form. Do this by executing:
Then display or edit the variable T.

JimW's Home Page