Simon L. Peyton Jones, ,The Implementation of Functional Programming Languages (1987) Prentice Hall International,Englewood Cliffs, NJ, USA 0-13-453333-X (445 pages).
โ Scribed by M.J. Shute
- Publisher
- Elsevier Science
- Year
- 1987
- Tongue
- English
- Weight
- 67 KB
- Volume
- 18
- Category
- Article
- ISSN
- 0026-2692
No coin nor oath required. For personal study only.
โฆ Synopsis
This book is one of the latest in the C.A.R. Hoare series in computer science. Unlike the majority in the series, this one appears in paper-back form, placing it well for the student market.
Both the author and Phil Wadler (who contributed a number of the chapters) are very accomplished lecturers in computer science and their uncluttered styles translate well into this textual form. The twenty-four chapters of the book step the reader through the various aspects of writing compilers for functional languages. This important class of computer programming language has become the subject of a great deal of research interests within the last decade and the appearance of this book on the market is most timely, filling a niche which was previously grossly under represented.
The author starts from the assumption that the reader is familiar with the functional programming style. He and his three co-writers then proceed to describe mechanisms for taking high level programs, transforming them in several stages until they appear in a low level, machine dependent form. They show how efficient facilities can be provided for patternmatching and type checking, as well as for store allocation, garbage collection and program execution.
The main weakness of the book is that, although it presents a walk-through of the design of one particular compiler (albeit with a superbly well balanced set of design decisions), it gives relatively few leads to the reader who needs tO implement a compiler which deviates from the one presented. On a superficial level, this book has many typographical errors, which is distracting to the reader. It is curiously lacking in exercises for the student audience at which it aims. These are relatively minor complaints, though, and I, for One, consider my time reading this book particularly well invested. I enjoyed reading the new summaries of material with which I was already familiar, and I acquired a great deal of new knowledge from the vast remainder of the text.
This book is obviously very well suited to the implementer who wishes to write functional programming language compilers for conventional computers. For my part, despite it only having one chapter specifically devoted to the subject, I would also encourage its reading by all computer engineers who profess an interest in designing parallel fifth generation architectures. Ultimately, it is the hardware which really 'implements' programming languages, and efficient implementation relies critically on the choice of a well balanced selection of hardware resources and mechanisms for the tasks expected of it. This book goes a long way to providing the insight as to what those tasks will be, and as to how the correct balance might be struck.
๐ SIMILAR VOLUMES