> Thank you so much for the book, please, continue!
I will!
> Look forward to reading the Optimization chapter: I couldn't find much useful and practical info on that.
There's not too much depth in that particular chapter. The whole second part is really about implementing an interpreter (fairly) efficiently in C. As you probably know, you have to think about performance at every level—your object model, bytecode format, hash table implementation, etc.
If you'd like a sneak peek, the code for the entire book is actually done already (!). You can see which snippets go into each chapter cloning the repo[1] then running:
make chapters
make c_chapters
make diffs
Then take a look in build/diffs.
There are a ton of optimization tricks that are specific to Scheme and Lisps and a lot of literature behind them. Macros and eval make it a lot harder. It's pretty dense, but I liked "Lisp in Small Pieces" a lot.
[1]: https://github.com/munificent/craftinginterpreters