[erlang-questions] Erlang is *not* a implementation of the Actor model Re: Go vs Erlang for distribution

Peer Stritzinger peerst@REDACTED
Sun Jun 22 23:58:34 CEST 2014


On 2014-06-22 02:07:12 +0000, Miles Fidelman said:
> I see Erlang as an implementation of the Actor model, a la Carl Hewitt -

This crops up again and again but still isn't true.

Erlang does *not* implement Actors but processes with links/monitors 
mailboxes and messages, which are not equivalent to actors.

Processes: sequence of function calls interspresed with (selective) 
receives that pick out someting out of the mailbox.

Actor: has to handle every message immediately, the actions a message 
triggers are happening concurrently, nothing longer running or 
sequential allowed.

Hewitt says himself that Erlang does not implement Actors: 
http://arxiv.org/pdf/1008.1459.pdf

He picks on different things like "silent process failure" instead of 
exceptions (which don't make much sense for somone familiar with 
Erlang) and that Actors seem to be garbage collected if they are 
"unneded" probably no longer referenced from the outside and Erlang 
needs "internal termination".

Hewitt writes mostly what he finds lacking but on the other hand I find 
the process with mailbox, selective receive and links/monitors (not ver 
silent ;-) more powerful that simple Actors.

Also as aside from what I've heard Erlangs creators didn't look at 
Actors when creating.

Cheers,
-- Peer





More information about the erlang-questions mailing list