Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Programming with sets; an introduction to SETL
Schwartz J., Dewar R., Schonberg E., Dubinsky E., Springer-Verlag New York, Inc., New York, NY, 1986. Type: Book (9780387963990)
Date Reviewed: Sep 1 1987

The SETL language was originally developed in the 1970s at New York University under the leadership of J. T. Schwartz. It was designed to better serve the needs of mathematicians and others who wished to perform algorithms based on functions, sets, and sequences. One of the special features of the language is that the writer need not be concerned with the representation of the data until it is determined that the algorithm must be tuned for the sake of efficiency. At that time the data representation for the algorithm may be specified using additional features of the language.

Two early implementations of SETL became generally available: one was for the IBM 370; the other was for the DEC VAX 11/780. An Ada compiler was developed and validated that ran in SETL. Other prototypical software was also developed in SETL and described by an earlier paper reviewed by this reviewer [1].

According to the book, “Fairly polished versions of SETL are currently available on the DEC VAX, IBM/370, SUN workstation and APOLLO.” The availability of these implementations and the ease with which the environment can be ported has occasioned courses in the language at New York University, Clarkson University, Dickinson College, and the University of California at Berkeley. This book is intended as a course text for those who wish to write algorithms in SETL and who may have no prior experience in programming. It does assume familiarity with sets, sequences, and other notions of “new math.”

In addition to the usual elements of an introductory text, chapters are included on the following subjects: program development, testing and debugging (including sections on efficiency, program transformation, and formal verification); backtracking; structuring large SETL programs; input/output and communication with the environment; the data representation sublanguage; and a section of examples.

The examples are numerous, and they indicate a wide range of applicability: Eulerian Paths in a Graph, Topological Sorting, The Stable Assignment Problem, A Text Preparation Program, A Simplified Financial Record-Keeping System, A Turing-Machine Simulator, Huffman Coding of Text Files, A Game-Playing Program, and Implementation of a Macroprocessor. The book also includes a large number of programming problems that are ungraded and two appendices: SETL Reserved Words and Syntax Diagrams.

Overall, this is a solid textbook dealing with a quite powerful language. It is well organized and well written, as would be expected from such reputable authors. Those who have access to a VAX, IBM/370, SUN, or APOLLO, and are mathematically inclined will, I suspect, want to acquire the book and SETL. Those who are not mathematically oriented would probably prefer ICON, which is also more generally available.

Reviewer:  E. A. Feustel Review #: CR111396
1) Kruchten, P.; and Schonberg, E.The ADA/ED system: a large-scale experiment in software prototyping using SETL, Tech. Sci. Inf. 3 (1984), 175–181. See <CR> Rev. 8507-0619.
Bookmark and Share
 
Setl (D.3.2 ... )
 
Would you recommend this review?
yes
no

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy