Partial evaluation reconciles generality with efficiency by providing automatic specialization and optimization of programs. Proceeding from a gentle introduction for reaching state-of-the-art techniques, this book covers the entire field of partial evaluation. It provides simple and complete algorithms and demonstrates, via examples, that specialization can increase efficiency considerably.
The topic is interesting but the presentation leaves a bit to be desired. Firstly the book presents things in a kind of paper order of development without spending too much time highlighting common themes. This generally leads to quite a bit of repetition and in different cases fails to highlight the most salient differences and why they might exist i.e. what makes applying BTA different between Prolog, C and Scheme. Topic coverage is however quite good.