Essentials of Programming Languages
Designed for the upper division Programming Languages course offered in computer science departments, this text focuses on the principles of the design and implementation of programming languages. The language SCHEME, a dialect of LISP, is used to demonstrate abstraction and representation.