Curious question: have folks experimented with adding “structured concurrency” primitives over core async? I was watching this talk — https://youtu.be/Mj5P47F6nJg — and got really curious about their “coroutineScope” idea.
Depending on your perspective, core.async is a form of structured concurrency. But in the more pedantic definition, where basically you have a tree of concurrent dependencies, you can use https://github.com/leonoel/missionary It doesn't use core.async, but it uses the same internal approach as core.async to enable lightweight threads.
Thanks @didibus ! Going with some helpers over core-async for now.
And it's the best implementation of a form of structured concurrency I've seen in Clojure.
Loom in newer JDKs also have I think experimental structured concurrency, I think that can be used from Clojure as well.