> Note that there is no way at a low-level to do some IO without blocking, > kernels may just not offer async API. Javascript and Go delegates those calls > to a threadpool to make them async.
The low-level primitives could be the same, but how those low-level building blocks are used make the end result different. I don't know what Erlang or Go use at the low level, but I can see the end result, simple blocking code that is fast.