It had to come up one level. Common LISP even then had about 2,000 primitives. I didn’t like that. What I liked was the original LISP, which had car, cdr, cons, and cond, but that was too little. Common LISP was way too big, but a stripped-down version of APL was in the middle with about 50 operations. It’s about the same size as C. But the thing about the languages that I implement is that there are no libraries: those 50 operations are it. Everybody builds from there, and the resulting programs are extremely short.

BC There the problem did serve as a motivator. You had this massive amount of data, and you needed a language that could deal with that large amount of data in a first-class fashion. Did other people around you see the expressive power, because even at that time I would assume that APL was beginning to wane a bit?

AW APL peaked in the ’70s, but in the finance industry APL was very strong, so there was no difficulty in doing my own APL version.

BC How did your own APL differ from the original? Did you change the primitives that were being exported?

AW The primitives were a little different; the grammar was pretty much the same. The syntax was the same.

The vocabulary was very similar, but not enough to be anything close to portable. BC I’m sure that practitioners who know APL only by reputation are going to wonder if it used the same wonky characters as the original APL.

AW Yes, at Morgan Stanley I did use the APL characters, but on my next iteration, K, which was in ’92, I gave up on those characters.

BC Why did you give up on them? And how did you feel about giving up on the characters?

AW Well, it felt great because it was easier to send e-mails. They’re beautiful characters, but I had to strip the language down. K today has no reserved words; it just

References:

http://queue.acm.org

Archives