[comp.parallel] APL and parallelism

budd@mist.cs.orst.edu (Tim Budd) (05/24/89)

Regarding APL and Parallelism

I've been an advocate of APL for parallel processors for a long time
(see my TOPLAS paper in 84 and my book ``An APL Compiler'' published by
Springer in 1988), so I was interested in Leigh's comments passed on by
Eugene.  Some comments on his remarks:

(1) My students and I continue to pursue approaches to generating efficient
code from APL for a variety of machines.  Our latest technique involves
a nice intermediate form based on the lambda calculus.  We can translate
APL (and FP too!) into this form; perform transformations and optimizations
at this intermediate form level, then generate code from the intermediate
form.  The interesting thing is that the intermediate form does not
involve any explicit control flow, and thus we can introduce parallelism
during code generation in a variety of ways.  This allows us to generate
fine grain SIMD (connection-machine style) code by introducing parallelism
one way, and coarse grain, MIMD (sequent-style) code by introducing
parallelism in another way.  There are also interesting time/space
tradeoffs which we are treating as a *code-generation* problem and not
something the programmer needs to deal with.
If you are intersted in finding out more about
this let me know and I can send you technical reports.

(2) APL is, despite being an anathema to the academic communnity (for
reasons which I have never quite understood) still alive and well.
Following the publication of my book I was contacted by several commercial
wall street types offering to throw large sums of money my direction if I
would develop a commercial quality compiler for APL.  Being a silly college
professor, I resisted these because (1) I don't think I understand the
problems well enough to make such a system yet and (2) there are a few dark
corners of the language I've been able to ignore since I'm just ``doing
research''; if I were serious about a commercial product I would have to
really look into this, and (3) if I was interested in making money I would
never have become a college professor in the first place.

--tim budd, budd@cs.orst.edu

phmb@genrad.com (Peter Brooks) (05/25/89)

I am very interested in promoting APL. I feel that it is the most
natural language to teach programming in for one thing. What are
these 'dark corners' you refer to? I think I might enjoy looking
into some dark corners - unless they are to do with screen formatting
or some such non sexy issue. Please let me know.

Peter Brooks