It is directed for the ones who wants async with no headache and aren't primarily focused on raw performance.
In fact, my big project is to propose a framework for creating semi-automated script that wraps the shell but with a higher level API, because I am really into system administration. By nature, it is async, because there can be complex streams manipulation, but not always async. And by goal, it must be concise. * Using threads is too complex and not efficient (if i spawn 100 child process, it means 300 threads, one for stdin, stdout and stderr, or creating a complex dispatcher) * Using asyncdispatch is too much of a boilerplate for this project (even if std/asyncdispatch is great and far better that javascript async to my point of view !) * And I don't care about a little performance impact or memory overhead, starting a child process overhead is much more costly So my NimGo project is just a step for me to make it possible.