Crafting Interpreters 2020-07-24

By Max Woerner Chase

I've gotten up through implementing function calls for Lox. Next up is the resolver, then classes and inheritance, then I'm going to take a break, and when I come back to it, work on improving coverage and testing, and figuring out profiling. Looks like I want to look into vmprof for that when the time comes.

I hope I have more to say about doing this on-the-fly port when I come back to it later. The most I've got right now is, it's kind of shocking how well things map between the different versions. I'm converting mutation-based Java code to Python code using persistent data structures, and somehow, even when I jump ahead, I end up with code that's bug-for-bug compatible with the code at the time that the book is explaining the bugfix.

Anyway, one thing I want to mess with while taking a break is designing a toy language that I find more interesting. Maybe try mixing linear syntax, like Lua's, with built-in inheritance and affordances for static analysis.

Good night.