Newsgroups: comp.lang.apl
Path: watmath!watserv2.uwaterloo.ca!torn!spool.mu.edu!howland.reston.ans.net!usc!elroy.jpl.nasa.gov!jato!csi!csi.jpl.nasa.gov!sam
From: sam@csi.jpl.nasa.gov (Sam Sirlin)
Subject: Re: What _I_ would like to see
Message-ID: <1993Apr20.183255.2797@csi.jpl.nasa.gov>
Sender: usenet@csi.jpl.nasa.gov (Network Noise Transfer Service)
Nntp-Posting-Host: kalessin
Organization: Jet Propulsion Laboratory, Pasadena, CA
References: <930411074536_70530.1226_CHV24-2@CompuServe.COM> <1993Apr11.091717.1916@alf.uib.no>
Date: Tue, 20 Apr 1993 18:32:55 GMT
Lines: 44

In article <1993Apr11.091717.1916@alf.uib.no>, barros@uib.no (Pedro Conte de Barros) writes:
|> I would like to call attention to the fact that, as Mike points out, most
|> people have already accumulated a lot of routines and toolkits for doing
|> the jobs that these libraries would do.
|> Is it really that difficult to put together some of these in a way that only
|> specific cover functions need to be rewritten to match the different interpretors
|> and OS we use? (This is a real question, no answer included).

I have ported various ws among different versions of APL, even
including J. My opinion on why libraries aren't shared much:

1. There is no good representation of APL. There needs to be a
standard, readable, ASCII representation. This would allow copying,
editing, automatic translation etc by non-apl programs, which is
essential. Almost all vendors have come up with some (usually
incomplete) keyword system, as have various non-vendors (like me), but
there is no agreed upon standard. WSIS is IMHO insufficient primarily
because it's only machine-readable.

2. There isn't a good way to use libraries in APL. The standard way is
to load all you need from various ws. This means whenever you do a
)fns you get 50 billions ws + the 5 you're working on. You have to
watch out for function and global name conflicts etc. That's why
builders of libraries often use weird names like .delta.deltaname.  To
continue to work on things over multiple days you either have to store
all the library functions with yours, or clear out (careful!)  and
load in each day.  All these issues cause problems for large library
systems. The "object oriented" ideas involving hiding of functions
seem very appropriate here.

3. Most APLers tend to be self sufficient, living with an isolated
(single, non-network mainframe) system. This is probably changing.

|> I guess that such a set of libraries (preferably vendor-independent) would be 
|> the most important element (together with enhanced flow-control structures) in
|> enhancing my productivity in writing APL programs (That's why I use APL - because
|> I am so much more productive when writing in APL -:)).

Yes!

-- 
Sam Sirlin
Jet Propulsion Laboratory         sam@kalessin.jpl.nasa.gov

