logoalt Hacker News

yetihehetoday at 2:18 PM2 repliesview on HN

It doesn't. It's "promise" based, not "communicating sequential processes". Erlang has more preemptive scheduling, a "thread" can be preempted at any time, here you can only be synchronized when you wait for result. It is called "actor-based", because only functions tagged as "actor" can call waiting functions.

This is more node.js-like communication than erlang.


Replies

thesztoday at 8:31 PM

They build channels on top of these "promises" and "futures" and this made them square into communicating sequential processes category. Also, you can look at promise-future pair as a single-element channel, again, it's CSP.

BTW, Erlang does not implement CSP fully. Its' interprocess communication is TCP based in general case and because of this is faulty.

jacquesmtoday at 2:52 PM

By they looks of it they changed the word 'async' to 'actor' because they thought it was cool not because it actually uses the actor pattern. Which to me seems to be namespace pollution.

show 2 replies