Design Concepts in Programming Language
Hundreds of programming languages are in use today--scripting languages for Internet commerce, user interface programming tools, spreadsheet macros, page format specification languages, and many others.
Designing a programming language is a metaprogramming activity that bears certain similarities to programming in a regular language, with clarity and simplicity even more important than in ordinary programming.
This comprehensive text uses a simple and concise framework to teach key ideas in programming language design and implementation.
The book's unique approach is based on a family of syntactically simple pedagogical languages that allow students to explore programming language concepts systematically.
It takes as premise and starting point the idea that when language behaviors become incredibly complex, the description of the behaviors must be incredibly simple.