I've been anticipating the Garbage Collection chapter (next on the list!) for quite some time! Do you have an estimated time frame for when it will be released? Thanks for the great book!
> I've been anticipating the Garbage Collection chapter (next on the list!) for quite some time!
Me too! It's one of the chapters I've been most looking forward to writing. (This chapter on closures was another.)
> Do you have an estimated time frame for when it will be released?
Chapters take me roughly a month, but there's pretty high variance depending on what else is going on in my life. I work on it every day, but the amount of time per day varies. My hope is that it will get faster as I get closer to the finish line. It's been a long marathon, longer than I initially anticipated.
My original plan was to have a photo with me and both of my dogs with the implication that each later book must feature yet another additional dog.
Unfortunately, Ginny, the dog in the photo on the back of Game Programming Patterns died earlier this year. (This makes it even more meaningful to me that she is immortalized on the book. You'd be surprised how many strangers have asked me about her.)
So, I don't have any firm plans, but I might just try to do a new photo with me and my other dog, Benny. He's getting pretty old too, though, so I guess the pressure is on for me to finish the book.
Checked the table of content, didn't find continuations. Am I missing something or is this material too much outside of the intended scope?
It's perhaps also too different, but I'd be interested in ways of saving the state of program execution and restoring that state later. Different from continuations, but overlaps...
Out of scope, alas. One of the real challenges of the book was deciding which language features to include and which to omit. It's on track to an enormous book — it's over 200k words already. So I had to cut what I could. The language in the book doesn't even have arrays.
But it does have lexical scope, closures, objects, inheritance, a full operator precedence table, and a bunch of other fun stuff.
Why would one want to build a single-pass interpreter? (Feel free to point me at an earlier chapter that answers this. I skimmed them a bit but didn't immediately find an answer.)