Skip to content

Iverson’s Introduction to J

Vector 9:2, page 53

reviews language design

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

An Introduction to J is one of several monographs written by Kenneth Iverson on the J language. Its content and structure might best be described by giving the Table of Contents:

Introduction · Mnemonics · Ambivalence · Verbs & Adverbs · Punctuation · Forks · Programs · Bond Conjunction · Atop Conjunction · Vocabulary · Housekeeping · Power & Inverse · Reading & Writing · Format · Partitions · Defined Adverbs · Word Formation · Names · Explicit Definition · Tacit Equivalents · Rank · Gerund & Agenda · Recursion · Iteration · Trains · Permutations · Linear Functions · Obverse & Under · Identity Functions · Conclusion

… and the first two and last paragraphs of the:

Introduction

"J is a general-purpose programming language available as shareware on a wide variety of computers. Although it has a simple structure, is treated completely in a twenty-page manual, and is readily learned by anyone familiar with mathematical notions and notation, its distinctive features may make it difficult for anyone familiar with more conventional programming languages.

This book is designed to introduce J in a manner that makes it easily accessible to programmers, by emphasizing those aspects that distinguish it from other languages.

The following lessons are records of actual J sessions, accompanied by commentary that should be read only after the studying the corresponding session (and perhaps experimenting with variations on the computer). The lessons should be studied with a J system at hand."

An Introduction to J consists then of thirty one-page lessons of worked examples and commentary which cover all of the main features of the language. The lessons are followed by fifteen pages of exercises which reinforce and extend the concepts introduced in the lessons. Some of the lessons and exercises provide substantial examples. For example, Lesson 13, Reading and Writing, concludes with a sequence of five verbs for barcharts which are used again in the exercises for Lesson 14 in defining verbs for plotting. The exercises for Lesson 13 contain verbs for generating prime numbers and calculating perimeters, areas and volumes and may recall to many readers the author’s much earlier APL functions for these problems. Another lesson of interest is Lesson 22 which introduces the conjunctions gerund and agenda and shows their relation to the case statement of conventional languages.

An Introduction to J has the same attractive format as other ISI publications. (One very minor criticism is that the customary Language Summary has been omitted from the outside back cover.) The statement in the Introduction that "This book is designed to introduce J in a manner that makes it easily accessible to programmers …" should not deter others from reading it. It may be recommended to both the beginner and the experienced programmer as an excellent introduction to the language and also the experienced user of J as a satisfying and stimulating review.

Iverson, Kenneth E., 1992. An Introduction to J.
Iverson Software Inc., 33 Major Street, Toronto M5S 2K9, Canada. 44 pp.
$12.00 + 7% GST (Canada) + Shipping ($10Canada and US, $20 elsewhere).

Available in the UK from I-APL Ltd … see Product Guide entry.

Keith Smillie
Department of Computing Science
University of Alberta
Edmonton, Alberta T6G 2H1