Wonderful book. I deserves several rereads. As my version has only been a draft version, I'll certainly reread it when it is published and/or when it is extended (a few chapters are promised but haven't been written yet).
I learned a lot and I enjoyed the pedagogic way of writing of the author, constantly encouraging to take a break and try to solve a problem before looking at the solution or make sure the definitions have been properly understood. I also found it great that the author differs from the language definition (and asking whether a turing machine accepts a language e.g.) and rather uses functions as computational tools (i.e. turing machines computing functions).
A breath of fresh air in theoretical CS literature.