Turns out implementing recursion is hard. You don't want your interpreter to recurse, as it may overflow the stack. https://github.com/Wilfred/trifle/commit/63d8488e7393dc2fe73fba49f1d593dbe3f31ec7
Related Posts
I'm implementing an interpreter, and wondering how often I should check for interruptions (e.g. Ctrl-C).
I don't want to spend too much CPU time checking whether I've been interrupted, but I also want slow programs to stop promptly. It's tricky.
Co-Authored-By: An old Stack Overflow answer, blindly accepting the compiler's suggestions, and a linter.
I find it fascinating how some businesses have scheduled downtime for their websites (e.g. my electricity provider last weekend), but others don't.
I suspect it's primarily culture. You generally need to turn off electricity to do work, so your other tooling may reflect that.