I mostly agree with what you wrote, but I'd like to point out that it's probably safe to move some kinds of fibers across threads:

If the fiber's main function is pure and its parameters have no mutable indirection (i.e. if the function is strongly pure), there should be no way to get data races.

Therefore I believe we could theoretically support moving such fibers. But currently I see no way how most fibers can be made pure, after all you want to do IO in them. Of course, we could forego the purity requirement, but then the compiler can no longer support us.

Reply via email to