Computing Reviews

The A+ programming language, a different APL
Girardot J. ACM SIGAPL APL Quote Quad20(4):149-160,1990.Type:Article
Date Reviewed: 05/01/92

Many computer scientists dislike several things about APL. The best-known are lack of proper block and control structures, dynamic binding, and the lack of first-class functions. The author discusses each of these deficiencies and gives APL examples illustrating some difficulties caused by them.

He then introduces A+ as a modification of APL that addresses these deficiencies. The most important changes in A+ are the addition of first-class blocks and lexical scoping. Blocks can be both executed and used as data. They replace APL’s defined functions and operators. Since they are data, they can also serve as functional arguments and results. Some examples of a new programming style made possible by these changes are given, and a model interpreter is outlined.

This paper is geared to an audience familiar with APL. It presents good examples and reads well. The references are extensive and well chosen. Some areas could be improved: the descriptions of some problems and their solutions are split, making it hard to see the connection; the interpreter description is too short to be really useful; and some features (such as continuations) are only mentioned in passing.

This paper is important for APL, because it presents clean remedies to some longstanding problems of the language without destroying its fabric. I recommend it for serious APL developers and others interested in modern array-oriented languages.

Reviewer:  Martin Gfeller Review #: CR115054

Reproduction in whole or in part without permission is prohibited.   Copyright 2024 ComputingReviews.com™
Terms of Use
| Privacy Policy