Book cview APL: an introduction by Howard A. Peele L.J. Dickey Charles C. Sims, A b s t r a c t A l g e b r a - A C o m p u t a t i o n a l A p p r o a c h , John Wiley & Sons, Inc., 1984. ISBN 0.-47109846...9. The book A P L : a n i n t r o d u c t i o n by Howard A. Peele, and has just been published by Holt, Rinehart and Winston. This soft cover book, dedicated "To the APL Life", with more than 460 pages is an self-teaching, introductory text. It is organized into two major parts. The first p a r t is a development of the language APL, including chapters on Immediate Execution, Program Definition, Controlling Exectution, Branching, Applying Functions, Interactive Programs, Arrays, Array Functions and Operators, and Mathematical Functions. The second part has chapters on A P L tools for Applications to Business, Statistics, Mathematics, Education, and Computer Science. The book is nicely laid out and is easy to read. One feature that I found that I like is the large number of examples throughout the text. Some of the examples are given ill a way to which many APL readers are quite accustomed, with an APL expression indented on one line, and the APL result on the next. W h a t caught my eye was the large number of examples that are given without the result. These are flagged in the margin by a small symbol indicating clearly t h a t this is a "hands-on" example which the reader should try directly on the machine. Each chapter ends with a set of Programming Projects, many of the form "Revise (or generalize) the program given in the text so that ...", b u t the one I really like is: "Document (with a comments) the programs you wish to keep and save them in a workspace." This project is given at the end of almost every chapter but I saw it first in the chapter "APL Tools for Mathematics Applications" that contained functions for Divisors, Primes, Least Common Multiple, Greatest Common Divisor, Euclid's Greatest Common Divisor Algorithm, Newton's Square Root Algorithm, Pascal's Triangle, Fibonacci Numbers, Binary Numbers, and Tower of Hanoi Puzzle. The chapter "APL tools for Computer Science" has sections on Simulation of a Computer, Neural Net Modelling An Information-Processing Model of Cognition, Search Procedures, and Finite State Automata. There are a number of Appendices. Tile first, Background Information, gives A Brief History of APL, Organizations, Conferences, Literature, Computer Implementations, and Vendors. Other appendices are Microcomputer APL Systems, Enhanced APL systems, APL Bogglers, Answers to Exerciese, Displays of APL Programs, and a Summary of APL. The index seems to be complete, with somewhere on the order of 900 entries. This book gives a nice introduction for beginners, a number of solid applications, some of the history of the language, and a sense of extent of commercial support available. This text is written for a one year undergraduate introduction to abstract algebra. Its novelty lies in a consistent use throughout of APL for examples and algebraic computations. An extensive background in programming is not a prerequisite for either instruction or for students, b u t the author suggests a minimum of three weeks for classroom discussion at the outset to familiarize the student with APL. A separate APL text is not necessary since a ,50 page introduction is included as an appendix. However two workspaees, CLllSSLIB and EXA~,fPLES, available in machine readable form from the author, are necessary for the use of the text. CL.aSSLIB contains over 200 A P L functions ranging from a function to compute all orbits of a permutation group to functions for computing irreducible and prime elements in special Euclidean domains. A separate instructor's manual and a CLASSLIB user's manual is available from the publisher. After preliminary chapters on sets and the integers, a chapter on group theory provides quite standard material and concludes with the Sylow theorems. More traditional exercises are provided after each section of text along with exercises involving APL functions. F o r the most part, traditional notation is used in proofs and exposition while the A P L character set appears in examples and exercises. The chapter on ring theory ends with a discussion of PIO's and UFD's with APL being used in computations with arrays whose entries are in such rings as Z, Z,~, Q, .dT:g, , and ~ [ i ] . e Chapters on modules, modules over Euclidean domains, and linear transformations provides an introduction to theoretical linear algebra. There is a brief chapter on field extensions. Calculations in finite fields and factorization in Zp[x I are treated using APL but the text contains no Galois theory, unfortunately. Sims' book is a serious text which has been developed over a number of years and deserves to be widely used. L.J. Cummings Dept. of Pure Mathematics University of Waterloo Waterloo, Ontario Canada APL Quote Quad 16 3 M a r c h 1986
/lp/association-for-computing-machinery/book-review-charles-c-sims-abstract-algebra-a-computational-approach-23RgphztoC