Does Clojure have continuations or coroutines to do tasks like ping-ponging without a stack overflow?
Old question, so I am not even sure whether this feature was available at the time, but for anyone wanting to implement any sort of "ping-pong" functionality, check out trampolinetrampoline!
I just discovered it as an answer to my question on efficient Continuation-Passing Style in Clojure, here: https://stackoverflow.com/questions/50952443/continuation-passing-style-does-not-seem-to-make-a-difference-in-clojure/50955276#50955276 and I think it's just the job. I'd heard about it a while ago, but never investigated fully. More fool me. Unlike many of the other proposed solutions, it just works.
====== PS. Loads of tutorial information online,]here are a few I found useful