* Haskell and in particular Marlow's async library.
* The Erlang language's Actor system along with the OTP framework as a different way of thinking about orphaned processes (via supervision trees).
* The Pony language, which can safely pass ownership of objects (and thusly coroutines) around.
* Haskell and in particular Marlow's async library.
* The Erlang language's Actor system along with the OTP framework as a different way of thinking about orphaned processes (via supervision trees).
* The Pony language, which can safely pass ownership of objects (and thusly coroutines) around.