Newsgroups: comp.lang.apl
Path: watmath!watserv1!70530.1226@compuserve.com
From: Mike Kent <70530.1226@CompuServe.COM>
Subject: Re: APL acceptance
Message-ID: <920514060533_70530.1226_CHC34-1@CompuServe.COM>
Sender: root@watserv1.waterloo.edu (Operator)
Organization: University of Waterloo
Date: Thu, 14 May 1992 06:05:34 GMT
Lines: 36

In article <1992May13.160200.17164@csi.jpl.nasa.gov>, sam@csi.jpl.nasa.gov
(Sam Sirlin) writes:

>  But who has access to an IBM mainframe any more?

Lots of people doing, e.g., commercial MIS and decision support work.  For
the rest of us, IBM has stated repeatedly that they intend to bring the PC
and AIX implementations to full compatibility with the mainframe product
(or at least as full as the environment allows, i.e. there will never be a
GPIB interface for APL2 under VM, and there probably won't be a VSAM
interface for DOS).  The []NA interface to APL functions in a separate
name scope would seem doable in any environment, so I would expect it to
show up [!! pure speculation !!] in the fullness of time.

Oh, I forgot to mention that if you don't like the name of an "exposed"
item in a packaged WS (because, for instance, it conflicts with a name 
already in use in the name scope where you want to use facilities from
the packaged WS), you can supply an alias by which the item is to be known
in the scope you are importing it into.  If I recall correctly you can
even do this with system functions and system variables.  Yet another
example of how thoroughly and intelligently thought out the implementation
of this facility is.

> Sharp APL has packages ... merely another implementation of )GROUP ...

I should have mentioned this, but I was thinking of what APL2 offers. 
BTW, Sharp APL packages are *not* just )GROUP with a different name,
they are first-class entities:  assignable, producible as an explicit
result, etc.  You can also get at values (of variables within a package)
without establishing the original name in you ws via an expression such as

      MINE <-- 'YOURS' []PVAL PACKAGE

so they provide _some_ name scope isolation, at least for variables. 


