Return to my Home page

Ellis K. "Skip" Cave's Matrix Language History Page

Email: SkipCave

Welcome to my matrix language information and history page. This page has links to several seminal and historical papers that describe the information and early history of the development class of computer languages I call matrix languages.

The most well-known example of a matrix language is APL, with its modern dialect, J. APL was unique in that it was the first computer language that dealt with arrays of items as a unit. However, this was not the only interesting distinction of this class of languages. APL relied heavily on single symbols to represent functions, as opposed other languages which used character strings to delineate functions.

Many of these papers have not been available in electronic form until now, as far as I am aware. I have extracted the text from the printed articles using the OmniPage optical character recognition software (version 10) and then hand-edited the final version for the special characters and symbols. These papers are presented under permission of the authors and original publishers.


Notation as a Tool of Thought - Kenneth E. Iverson (PDF)
Originally published in the Communications of  the ACM, Volume 23, Number 8, August 1980

Kenneth Iverson was the inventor of APL. The 1979 ACM Turing Award was presented to Kenneth E. Iverson at the ACM Annual Conference in Detroit, Michigan, October 29, 1979. In making its selection, the General Technical Achievement Award Committee cited Iverson for his pioneering effort in programming languages and mathematical notation resulting in what the computing field now knows as APL. Iverson's contributions to the implementation of interactive systems, to the educational uses of APL, and to programming language theory and practice were also noted. Ken presented the following paper to the ACM conference:


A Personal View of APL - Kenneth E. Iverson (HTML)
Originally published in the IBM Systems Journal, Vol. 30 No. 4.

Kenneth Iverson wrote a paper in 1991 in the IBM Systems Journal describing the development process of the APL language in some detail. This is a excellent article to overview the creation of a new language.


A Tribute to Roger Hui - by Prof. Donald B. McIntyre Perth, Scotland
Originally published in APL Quote Quad Volume 27, Number 1  September 1996

Roger Hui's accomplishments were recognised at APL86 when he was awarded the SIGAPL Person of the Year award. This paper by professor McIntyre outlines the history of the development of J, and Roger's significant contribution to that history.


Learning J - Roger Stokes

Roger Stokes has written a textbook intended as a tutorial to the J language. This book allows for casual reading (as opposed to the typical dense presentation of the Jsoftware books) yet it provides a deep coverage of the language features.


J for C Programmers - Henry Rich ***NEW Jan 2006 Revision***

Henry Rich has written a textbook ostensibly intended for C programmers who want to learn J. However, it is an excellent general tutorial for anyone who wants to learn the J language. It provides a second, slightly more formal view of the language than Stokes' "Learning J", and covers a somewhat different set of topics in a different style than Stokes' book.  This version is Henry's 1/25/2006 version.  I have done the PDF conversion and added  TOC/Bookmarks for the PDF reader for quick reference access. Click on the Bookmarks tab in Adobe reader to navigate the topics.

Easy - J

Linda Alvord and Norman Thompson have written this 44-page booklet entitled "Easy -J, An Introduction to the World’s most Remarkable Programming Language". The booklet is, in the authors' words,  "a brief introduction which will encourage the user to discover that the claims which are made on this page are in no way understated".


Pictures of the J 2000 Conference in Toronto Canada on 10/4/00

This link points to some digital pictures taken at the J2000 conference in Toronto Canada.


This page has been accessed times since September 1, 2000.

Return to my Home page