Just working through @munificent's excellent Crafting Interpreters book. I am currently plugging away at the end of the tree walking interpreter section (add your own feature).
https://craftinginterpreters.com/
https://github.com/svieira/crafting-interpreters