''Programming Languages: An Interpreter-based Approach'' by Samuel N. Kamin. ISBN 0-201-06824-9 This book explores programming languages by building interpreters for them. It starts with a simple interpreter using Lisp-style EssExpressions for syntax, and to this it separately adds the fundamental features of a range of interesting programming languages. Various examples in these derived languages are presented, and they show how the languages differ and examples of problems they can solve particularly elegantly. It is fascinating to see how simple the fundamental differences between so many languages are, once you strip away "minor" features and present them in a common syntax. It's also very interesting to read about the essence of languages you've never been exposed to before. The languages covered include Smalltalk, Scheme, APL, Prolog, and several others. ''Unfortunately, this book is now out of print; though used copies are available from Amazon. A re-write by NormanRamsey is due to be published in 2005; drafts of this re-write have been used in various programming language courses around the country.'' ---- CategoryBook