I don't think it's an issue with Nim then but more with async programming.

Nim follows the semantics of C#, Python and Javascript async/await, and it also 
uses the type system to ensure there is no logical mistake in the code, like 
using a potentially empty async result in part of the code that cannot handle 
it (i.e. sync code).

Yes async code is viral, but introducing those boundaries between sync and 
async ensures that it is logically safe and you don't read garbage (future 
results not yet arrived) in your sync code. The added benefits is that within 
async code you can write in the same style as sync code.

The alternative to async/await would be similar to Javascript Promises and the 
type would be worse you would have proc callbacks instead of Future.

Reply via email to