Skip to content

CORE APL (Opening Plenary by Ken Iverson)

Vector 3:2, page 59

conference reports language design

Transcribed from the printed issue; not yet reviewed. Read it in the PDF of the issue, page 59

Introduction

I can do no better than to quote verbatim Anthony Camacho’s excellent preamble to Ken’s opening talk:

“Ken Iverson invented APL; he is the only reason why any of us are here. I feel it would be, in a way, presumptuous for me to introduce him in the usual way. For those who don’t know it, I recommend ‘The Source Book of APL’ – it’s a wonderful piece of background.

Ken is not only the inventor, but also one of the amenders and improvers of APL, and he’s not alone in that. Ken has a long thought-out set of improvements to APL, which have elegance and uniformity, and he will tell us about them today. But by asking Ken to open this conference, we’re not asking you to abandon IBM, STSC, Dyalog, and other people who have improved APL in their implementations. Our reasons are different, and our reasoning is different from that of any vendor.

I hope that one of the strengths of the BAA is that it’s run largely by people who use APL, rather than those who sell APL. (Although we have to acknowledge generous assistance from those who sell it.) Being independent, of course, is not particularly a virtue, unless the independence is used; and I’m using my independence to say to all the vendors of enhanced APL something which is in the interest of everyone who uses APL, whether they simply earn their living by it, or wish (as many of us do) to see it supersede conventional mathematical notation.

It’s a message from everyone here (and the 20-200 thousand APL’ers who aren’t here too), and the message is simple: “Don’t spoil it; find a way for everyone to use the same language”. In your programmes, the talk which Ken Iverson is about to give is entitled ‘The Split in APL’. The talk he is now going to give is called ‘Core APL’, and the difference is that he is looking for acceptable ways for other people to accept as much as possible of the improved and revised APL he has devised.

If we can have a set of functions, written in ‘Core APL’ which perform as those in APL2, and a set of functions in APL2 which perform as those in ‘Core APL’ then we are well on the way to unifying, rather than splitting, APL.

APL is fundamentally (in my view anyway) a notation. It becomes more than that when it is implemented on a computer, because a computer can improve people’s ability to think. There are two aspects to the language; its notation and its implementations. The notation is the heart of it, but as anyone will tell you, a bare APL without an editor, without a file system, without links to the operating system, without even links to machine code, is very painful to use. There’s somebody in the front row who practically gave up on APL simply because of the lack of a decent editor!

APL derives its commercial strength from its implementations; if it were simply a notation and not a programming language it would never have spread as far as it has. Many features of these implementations are not what one would call elegant: ⎕AI, ⎕FMT, ⎕TS are very useful, but could hardly compete in a beauty contest. Somehow they never seemed threatening, because nobody fears that the nature of the language could be changed by them.

That is how we’d like to be able to see the difference between the implementations of each APL. Tomorrow we have a panel session on that very subject; in that session I would like all the speakers to remember the 200,000 APL’ers who make it possible for them to live by selling APL, the people who profoundly wish to see APL stay one language.

So I think – although what you’re going to take from Ken now will be really interesting to you – that the most interesting response to this morning’s talk will be from the APL vendors.

It would be very nice to see the challenge of unifying APL taken up by all of them.”

Comment

Anthony is a hard man to follow! Having listened to Ken’s talk both live and on tape, I feel I can only report an honest, laudable, and occasionally heroic, failure. The objective he set himself was too high, and his dislike of APL2 too strong, to allow him to reach it. I hope I am wrong in this assessment, and I would be absolutely delighted to be put right.

Over 300 people listened intently to what Ken had to say; many of those present could have a critical influence on the future of APL. I just hope they take on board his message, and will help to make his vision a practical reality.