Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

APL for the ST

3 views
Skip to first unread message

Lee Dickey

unread,
Oct 28, 1986, 12:17:56 PM10/28/86
to

APL for the Atari ST

I have had my copy of APL.68000 for two weeks now, and am pleased with
it. APL.68000 is a complete implementation with enhancements that make
use of many of (and allow the user to make use of) the special features
of the ST, like dialog boxes, alert boxes, function keys, line graphs,
and pull down menus.

This APL has followed the lead of IBM in several ways. For instance,
when APL.68000 first appeared, (some years ago), it included a copy of
the IBM manual "THE APL LANGUAGE", and added a few pages about their
own enhancements, such as the quad-SS function for string
substitutions. A delightful feature is the use of the ALT key to
provide access to all of the composite symbols. For example, the
transpose symbol is traditionally created by typing a circle, a
backspace, and a backslash. On the ST, I now press the ALT key and the
"6" to get this effect. A set of keyfront stickers is included to show
the mapping. This keyboard convention is not new. It seems to be the
one that is used on IBM 3277 and 3278 terminals when used with APL and
APL2, and it has also been adopted by other APL's such as WATCOM APL
for their most recent version for the IBM PC and (I think) by STSC as
well. A significant improvement indeed over the old way of
composition.

The ST release is version 1.0, but it is release 6.0 for the
interpreter itself, which has been around since before the IBM PC was
introduced. I have yet to find any bugs in the APL. There are a few
things about the interface to special ST features that I have not been
able to do yet, that I would like to do. For instance, I would like to
be able to read *any* key under function control, and I can almost do
this, but not quite, because there seem are a few key sequences that
are mapped to the same byte. For instance, reading the keyboard, I get
the same byte from the HELP and the UNDO key. I would also like to be
able to tell the "2" above the "W" from the "2" on the number pad.
This would allow me to write a panel with special meanings for the keys
on the number pad, while keeping the ability to have numeric entry.

The APL features a very nice "session monitor" that allows me to
re-execute any line on the screen. It works like this: move the
cursor back to any previous line, modify it (however I like), and press
the return key. The modified line appears at the bottom of the screen
and then it is executed. One aspect about this that I would change is
this: I would like the previous line to pop back to its previous
state, and then display and execute the modified line at the bottom of
the screen. As it is, the previous line stays on the screen in its
place, in the modified form.

The screen memory seems to be 75 lines long, and is controlled by the
mouse in the side-bar.

There are two file systems available to the user. One is accessed by a
set of supplied functions, with names like STCREATE, STREAD, STWRITE,
and so on. With these, you can read and write ordinary native files.
You can write any byte you choose, as many as you have room for on you
disk.

The other file system is a sophisticated APL component system, complete
with multiple user access control facilities. Imagine, if you will, a
number of STs connected together, and that you might like to share some
information with me, and something else with a third party, but each of
us should not be able to read the other's components. Well, the hooks
are all there. Until this comes along, a component file system is a
marvelously usefule thing just for one person to use. One component
can hold a character array, another can hold a numeric aray, another a
Boolean array. You read the component, you get the array. You can
replace the contents of any component with any other APL object.

I was easily able to make use of the native file functions and, with
about 10 lines of code, write an "script" function that kept a copy of
*all* my APL input lines, not just the last 75 lines that appeared on
the screen.

There is a full screen editing feature at all times. There is a quad-R
that displays the last input line, which you can then modify and
execute with the press of the return key. If you prefer, for the entry
of conventional text, for instance, to use the conventional typewriter
layout with lower case, upper case letters instead of upper case
letters and special symbols, you can easily switch. There is also a
function editor that will feel comfortable to users who have become
accustomed to ST mouse features.

The function keys are programmable from the keyboard. One of the first
things I did do was to program one key and give )WSID, )FNS, )VARS,
and )SI . I wrote a little function called EDIT that accepted a
character string, the name of a function, which then programmed another
key so that pressing it would open and display the named function.

I created an experimental a PANEL system. It is clear from the
experiments I did that full control is available. I could dynamically
change the meanings of the function keys, or, in fact, set some
predetermined action to happen at the stroke of any single key, and
then at the end of the PANEL session, set everything back the way it
was before.

On my 1M machine, with some modest desk accessories, I get a workspace
with about 600K. When I added a 500K ramdisk, I got a 100K workspace.

The documentation is complete. There is a fat manual telling all about
APL, a supplement that tells about special features for the ST, and a
pocket guide with brief summaries of all features.

I am pleased with APL.68000 on my ST.

In the US, readers can get APL.68000 from the Spencer Organization,
Box 248, Westwood New Jersey 07675. In the UK and elsewhere, it is
available from MicroAPL Limited, Unit 1F, Nine Elms Industrial Estate,
87 Kirtling Street, London SW8 5BP.

Lee Dickey
1986 10 28

Disclaimer:

I am not afilliated with either of these companies.
The views expressed in this article are strictly my own.

0 new messages