STSC APL*PLUS
Volume Number: 3
Issue Number: 12
Column Tag: APL Vectors
APL Returns to the Mac 
By S. Allyn Weaks, Contributing Editor, Seattle, WA
STSC APL*PLUS, Other APLs, and Some Utilities
Nearly two years of being distracted is a record even for me, but I’ve started in
on APL again, and with some luck maybe I can keep it up for a while this time. A lot
has happened in the last few months - there are now four different APLs for the Mac,
three commercial and one shareware. PortaAPL has become STSC APL*PLUS,
APL.68000 has finally been released, MacAPL is available for those on a budget, and a
shareware APL from France, APL 90+ has turned up. This month I’ll give brief
descriptions of each them, with detailed coverage of STSC APL, which I’ve used the
most.
• APL.68000 ($295, Spencer Organization, Inc., 366 Kinderkamack Road, P.O.
Box 248, Westwood, NJ 07675, (201) 666-6011 ) is competing directly with STSC
as a full powered language with at least some access to the Mac toolbox. Unfortunately I
haven’t been able to see it, and since it has a $295 list price I can’t afford to buy it
just for fun. But the rumors on the net are that it’s fast since it’s written in
assembly, and solid. It follows the ISO standard except for the file functions- they use
some made up symbols instead of the usual quad functions (∞FTIE, ∞FCREATE), which
not only makes programs harder to read, but complicates porting programs in both
directions. They get into more of the Mac toolbox than APL*PLUS does, real windows
and dialogs for example. I’ll try to get a good look at it soon so I can give you more
information.
• MacAPL ($125, Leptonic Systems Co., 405 Tarrytown Rd. #145, White
Plains, NY 10607 ) is a relative newcomer, written by Michael C. O’Conner, author
of Layout Editor. It doesn’t yet support the entire language, and it doesn’t access the
toolbox, but it has some very nice features. It provides a run-time system, so you can
distribute stand-alone applications, and it has the nicest user interface of the lot. You
can open more than one workspace at a time and the editor is done properly. There is a
function to put text and pictures into the clipboard. A demo version that can do
everything but save a workspace is available on Compuserve, Delphi, and in many
public domain libraries. I was surprised at how fast it was - it did my harmonic
benchmark (+/÷´10000) in 23 seconds. It’s well worth getting hold of a copy of the
demo just to get a little of the flavor of APL.
• APL 90 ($85 shareware, SYNC, 12 Place Hotel de Ville, 42000 Saint-Etienne
France) is a straight APL from France. It is ported from a mainframe APL written in
C at the Ecole des Mines de Saint-Etienne by Jean-Jacques Girardot, François Mireaux
and Sega Sako, and is full APL, conforming to the ISO standard. It has a few Mac
features, including a row of buttons along the bottom of the screen to change keyboard
(ASCII vs. APL), debugging (NONE, TRACE, Macsbug) and to show the time and cursor
position. Unfortunately there isn’t a full-screen editor; you have to use the standard
clumsy APL del-editor. If you’re interested in doing number crunching and don’t care
much about immediate access to the toolbox, this is a good one to look at. Girardot plans
to add APL2 features (including nested arrays, ambivalent functions, machine language
functions, as well as some object-oriented extensions) by the end of the year. Since
APL 90 comes from France, it has a few keyboard problems - they very kindly put in a
UK keyboard option, but not a US option. I haven’t bo thered to patch the keyboard
resources for my copy yet, since I don’t use it regularly, but it shouldn’t be hard to do.
One warning - the 1.0e version that I have is incompatible with System 4.1.
• STSC APL*PLUS ($395, STSC Inc., 2115 East Jefferson St., Rockville, MD
20852) is the new name for PortaAPL. PortaAPL still lives as a company, but has
licensed it’s Mac APL to STSC. PortaAPL still does all of the programming, and is
bringing the interpreter into line with STSC’s other APLs for IBM-PCs and
mainframes, while STSC handles documentation, marketing, support, and utility
libraries.
The package you get contains a 200 page User’s Guide, 300 page Reference
Manual, an APL tutorial (APL is Easy), key stickers to help you learn the keyboard
layout, and two disks, one with the interpreter and the other with several utility
workspaces. Price is $395 list, with educational discounts. The license agreement is
the standard ‘We have all of the rights, you have all of the responsibilities’ variety.
Registration entitles you to ‘free’ telephone support (but it’s not a toll-free phone
number), and a quarterly newsletter. The phone support has been mostly helpful.
They are very good at answering APL questions, but have more trouble with Mac
specific problems. The people I’ve talked to have all been IBM-PC types.
The documentation is basically OK. The books are well laid out and easy to read.
The Reference Manual has an excellent APL language summary that I wish I’d had
available when I was first starting, and the User’s Guide can easily be read through in
a couple of sittings to get an overview of the system. The organization isn’t great
though. They went to some effort to not duplicate any information, and the indices
aren’t complete. You have to go from one book to another a lot to find out enough about
some things to use them. And some topics are just plain hard to find; for example, the
∞SFOPEN and ∞SFSAVE functions for invoking the Standard File package aren’t
anywhere under ‘ files’, but are listed under ‘ dialogs’ - an obvious confusion on their
part about what dialogs actually are. All of the appendices in the User’s Guide (the
atomic vector, error messages, system limits) really should have been in the
Reference Manual. The level of explanation is somewhat uneven as well. There is gory
detail about what a file is, but you’re expected to already know about forks and
resources. Even the name of the program is confusing at times - they refer to the
STSC APL*PLUS System file often, and they mean the interpreter, not the Mac System
file.
The tutorial book APL is Easy isn’t very useful. I found the tone of it to be
patronizing, and almost every example is business related. (My brain clicks off
whenever I see words like ‘amortization’ and ‘sales’.) It is written for the IBM-PC
version of APL*PLUS, with a page or so of corrections for the Mac, and the
highlighting of text that you should type in is distracting. Buy a copy of Gilman and
Rose instead (APL: An Interactive Approach, Leonard Gilman and Allen J. Rose, John
Wiley & Sons, ISBN 0-471-09304-1). They have business examples too, but they
throw in enough math and computer science to keep it interesting.
The Mac interface is a little better than before, as is the editor. The full screen
editor now has a horizontal scroll bar for long lines, and you can cut and paste more
than one line at a time. There is no search function, so changing a variable name can be
tedious. Cursor placement is tricky; if you click once between characters, the
character to the left is highlighted, and I mangled a lot of text by typing too fast until I
learned to click on the letter to the right. Double-clicking doesn’t select a word as it
should, either. The scroll bars are present in the main interpreter window even
though they aren’t active, and you can’t make them go away. They reduce the useful
area of the screen, and look untidy when doing graphics. You can still only cut and
paste one line in the main window.
The font is better (it no longer conflicts with San Francisco), but isn’t perfect.
There are three sets of APL fonts (narrow, wide, and italic) and a downloadable Laser
font, but since each family has the same ID numbers, you can’t have them all installed
at once. You have to use the Config workspace functions to change the default family and
size, and the change doesn’t take effect until the next time you load the interpreter.
The font size you choose affects allowable values for the ∞WINDOW function, which
causes programming problems. Worse, if you install the font in your system file so
that you can edit stuff in MacWrite, etc. the keys you need to get the APL characters are
wildly different from what you use in APL. Why they couldn’t arrange things to be
consistent is beyond me. I’d fix it with a font editor, but that would complicate
transferring files to friends.
Toolbox access hasn’t changed appreciably from the older PortaAPL version.
Quickdraw, menus, mouse functions and some resource functions are still there as