Polymorphism without protocol dilution

Bob Shafer bobsh at wwics.com
Sat Aug 29 14:24:00 UTC 1998

I'd like to suggest that folks interested in this have a look at the
languages J and K, both of which are discussed on comp.lang.apl. 

J is designed by Ken Iverson (with help from Ken Hui and others). J is, it
can therefore be argued, the latest version of APL. It is distinguished
from APL by having an ascii-based representation, and a firmer and more
extensive theoretical foundation, including a form of functional
programming (called "tacit form") that seems very similar in spirit to
Backus' FP. It also has recently been extended with OO capabilities. The
system (including free trial versions) and more info are available at

The K language is also an APL-like language, similar in many respects to
J, but it has grown within a business environment and has some very unique
qualities. There is, as of very recently, a downloadable trial version of
it, as well, at http://www.kx.com. It seems less mathematically oriented
than J, but much more oriented towards business systems, and interprocess
communication and rapid prototyping. There are ideas in the K system that
totally blew me away (not so much the APL-like aspects, but the
(apparently) total integration of language objects with user interface
objects -- extremely neat stuff!). 

Both systems, if you download them, come with extensive documentation. The
K documents seem to be especially well written and accessible. There's a
treasure trove of good, well thought out ideas in these systems, IMHO.

On Fri, 28 Aug 1998, Alan Kay wrote:

> Maurice and Travis --
> Dan Ingalls and I (seperately) were very taken with parts of APL in our
> youth, and. over the years, have been quite excited at the possibilities
> that polymorphism brings to this kind of generalization of collections. It
> is now time to take another pass at the algebraic roots of
> Smalltalk/Squeak. Suggestions please -- the best kind are not so much
> add-ons, but comprehensive schemes that are both powerful, readable, and
> help users think ...

More information about the Squeak-dev mailing list