[net.lang.apl] APL on a micro

ljdickey@watmath.UUCP (08/30/83)

Rehash of article submitted to I.P.Sharp Network.

No. 1960042 Filed 20.45.40  Wed 17 Aug 1983
Mailbox groups:   IBMPC, MICRO.

     I had a chance to work with WATCOM APL Version 2.0 on
the IBMPC today.  It was a delight.  The machine I was
working on did not have the 8087 processor, so it was not
as lightning fast as it might have been.  It has all of the
standard APL chars, as well as the six newer ASCII APL
characters $, {, }, left and right tack, and diamond.  The
diamond is a statement separator.  The character "_" is al-
lowed in names.  It has (as did earlier versions) full
screen editing.  This means that you do not have to use
[N#M]   anymore.

     You can have large workspaces.  For instance, the
machine I was running on had 256K memory, and #WA showed
101203 with a clear workspace.  By buying more memory, you
can have a workspace of up to about 600K.  APL objects can
have up to 32K elements.  There is a nice, Sharp-like, file
system, and there is also the ability to work with "native"
DOS files.  It has #EA (execute alternate) like APL2 has
that is very nice for event handling.  And I love the
transfer file form.  This is not the first APL with this
feature; at least two other APL's have something like it.
You give the command  ")OUT blat"  and it creates a file
called "blat" with all the stuff you need to transfer funs
and vars to another system.  There is a corresponding com-
mand ")IN blat" that reverses the process.

     There are some great color graphic features, with
skadds of primitives for making lines, boxes, circles, arcs,
etc.  The text formatting function proposed by Aiden Falkoff
(see APL 79 ?) has been implemented.  Very nice.  Do you
wanna alphabetize?  The Gradeup primitive has been extended
to work on character matrices.  The first element of #TS is
still less than 100 though.  Hot news on string handling:
There is new string occurrences and replacement feature:
Wanna find the word 'is' in the string 'This is a test' ?
Just say

                 S   "gets    'This is a test'
                 S['is']
          3 6
                 S['is is']    "gets    'at was'
                 S
          That was a test.

There is also a #MATRIX primitive (similar to #BOX on
APL.68000) that turns a character vector into a matrix with
one word per row, and you can change the delimiter from the
default ' ' to whatever you like.  It also has #VI and #FI
(a la Sharp).

     I was not able to crash it, and did not experience any
of the earlier problems experienced with large workspaces
and ")COPY".  Now all I need is the big bucks for the PC!

	Lee ("kid in a toyshop")  Dickey		(ljdickey@watmath.UUCP)
				...!allegra!watmath!ljdickey
				...!ucbvax/decvax!watmath!ljdickey
				University of Waterloo