I have not yet finished this book, so this review is a work in progress as I read through the book.
This is a review of the 3rd edition.
I have already read SICP cover to cover, and I have written a partial r7rs scheme implementation (I eventually abandoned the effort to write a compiler to explore type theory).
I am reading this book as a step towards reading TaPL and PFPL.
I was hoping this book would be a more modern SICP, and at times it felt like it could be.
I was also hoping to use this book to cover grammars and induction - both of which this book has delivered on.
I expected this book to be quite simple, and for my background it has been, at times tedious.
This book however doesn't actually introduce or teach scheme, it is taken as a given that the reader either knows scheme or can muddle their way through it.
Most of the examples are very briefly explained, and I found many of them ambiguous.
This text also lacks any solutions or hints section, which is frustrating as I am not reading this within a classroom environment.
Likewise there aren't many online solutions for the 3rd edition, the only set I could find that was of any quality only goes up to the end of chapter 3.
For these reasons I find this book very odd - it seems to want to target beginners in a classroom environment, meanwhile it doesn't cover things that I think are needed to help beginners along.
Outside of a classroom environment it is almost entirely useless to a beginner (due to lack of scheme tutorial and solution section), and many of the exercises (at least so far) are quite tedious for an experienced programmer.
I wish there was a solutions section, or at the least an online collection of solutions.
I also wish that the exercises were more verbose, or at the least that there was an online collection of the exercises in more verbose form - some of the questions are very gating, either you get it (likely because you already knew the answer) or you wont get it without asking for help.
I am only up to chapter 3 so far, so I expect the difficulty of the exercises to increase, I will update this as I make further progress.