Essentials of Programming Languages, Third Edition
This book provides students with a deep, working understanding of the essential concepts of programming languages. Most of these essentials relate to the semantics, or meaning, of program elements, and the text uses interpreters (short programs that directly analyze an abstract representation of the program text) to express the semantics of many essential language elements in a way that is both clear and executable. The approach is both analytical and hands-on. The book provides views of programming languages using widely varying levels of abstraction, maintaining a clear connection between the high-level and low-level views. Exercises are a vital part of the text and are scattered throughout; the text explains the key concepts, and the exercises explore alternative designs and other issues. The complete Scheme code for all the interpreters and analyzers in the book can be found online through The MIT Press web site. For this new edition, each chapter has been revised and many new exercises have been added. Significant additions have been made to the text, including completely new chapters on modules and continuation-passing style. Essentials of Programming Languages can be used for both graduate and undergraduate courses, and for continuing education courses for programmers.
About the Authors
Daniel P. Friedman is Professor of Computer Science at Indiana University and coauthor of The Little Schemer (fourth edition), The Reasoned Schemer, The Seasoned Schemer, and Essentials of Programming Languages (third edition), all published by the MIT Press.
Mitchell Wand is Professor of Computer Science at Northeastern University.
—Marc L. Smith, Department of Computer Science, Vassar College
—Gary T. Leavens, School of Electrical Engineering and Computer Science,University of Central Florida
—Chung-chieh Shan, Department of Computer Science, Rutgers University