&gt;<i>Guess I should have said &quot;blocking I&#x2F;O&quot;? I thought it was a given that a single threaded language wouldn&#x27;t magically inject some kind of concurrency around tight loops or CPU intensive tasks.</i><p>Well, Erlang (and Elixir) does just that -- it&#x27;s preemptive, and implicitly yields under the covers even in loops.<p>&gt;<i>Node.js people don&#x27;t really think that sort of thing is &quot;non blocking&quot;, do they?</i><p>Judging from forum threads and blog posts, a lot of them do, especially web programmers not familiar with blocking and non-blocking that only know that &quot;Node is webscale&quot;.