This text is the first comprehensive presentation of reduction semanticsin one volume; it also introduces the first reliable and easy-to-use tool set forsuch forms of semantics. Software engineers have long known that automatic toolsupport is critical for rapid prototyping and modeling, and this book is addressedto the working semantics engineer (graduate student or professional languagedesigner). The book comes with a prototyping tool suite to develop, explore, test, debug, and publish semantic models of programming languages. With PLT Redex, semanticists can formulate models as grammars and reduction models on theircomputers with the ease of paper and pencil. The text first presents a framework forthe formulation of language models, focusing on equational calculi and abstractmachines, then introduces PLT Redex, a suite of software tools for expressing thesemodels as PLT Redex models. Finally, experts describe a range of models formulatedin Redex. PLT Redex comes with the PLT Scheme implementation, available free //www.plt-scheme.org/. Readers can download the software and experiment withRedex as they work their way through the book.
This book, after some introductory materials, describes a series of abstract machines culminating in the CESK machine which form a line of research which has some similarities to stuff done by French researchers starting with Krivine. The inspiration for the work seems to be John C. Reynolds work on definitional interpreters. The work by the French seems to have more coverage though given a number of successes of projects led by them including the OcaML language, the Coq interactive theorem prover and the verified compiler Compcert. Somewhat interesting nonetheless.
I was referred to this book as an intro to building CEK machines for interpreting functional languages (circa chapters 6-8), and I ended up reading the whole book (because why not?). Well, in my opinion, the description of the CK/CEK/CESK machines is about the only thing that the book does a decent job on, and even then there are papers or blog posts online that giving a similarly good description of those.
What else does this book contain besides chapters 6-8? There's some intro to untyped lambda calculus in the beginning (which is IMO vastly inferior even to the intro chapters in, say, Pierce's TAPL which barely focuses on the untyped portion of the metatheory), there's a chapter on types (which is surely not enough if you're interested in that subject). There's Part II about the PLT Redex tool (or shall I say eDSL?) itself, which might be useful for those planning to use that tool. There's also Part III on applying PLT Redex to various domains, where each section is written by a different author exploring a particular domain (often summarizing the author's PhD or their papers), like nested schedulers, online polls DSL, Scheme macros, and so on. Some of those are quite interesting (typechecking STLC as a reduction, anyone?), but all of those, being the summaries, are too concise to give enough detail.