Implementing scope in an interpreter using shift/reset for delimited continuations: https://blog.moertel.com/posts/2005-09-13-scope-herding-with-delimited-continuations.html
It's arguably overkill for the problem, but it's a well-argued introduction to shift and reset.
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.
It's incredibly hard to explain adversarial problems to users. I see gamers sincerely asking "why doesn't the publisher just fix the cheater problem?".
This is exacerbated by the fact that sharing too many details of anticheat can make the problem worse.
Is there a programming equivalent of the strawberry problem, i.e. a specific coding task that LLMs are consistently bad at?