Programming languages : concepts and implementation Programming Languages: Concepts and Implementation is a textbook on programming language concepts from an implementation oriented perspective. The book teaches language concepts from two complementary perspectives: implementation and paradigms. It covers the implementation of concepts through the incremental construction of a progressive series of interpreters in Python and Racket Scheme for purposes of its combined simplicity and power and assessing the differences in the resulting languages. The language being interpreted is called ChAmElEoN referring to the recurring theme of morphing the implementation of the concepts in the language (e.g. from static scoping to dynamic scoping or from pass by value to pass by reference)