The way Erlang does single assignment variables is actually pretty poor, IMO. I often find myself wishing Erlang had a let equivalent. I believe even Core Erlang has let.
I think you can’t really understate how good Erlang’s concurrency model is. I really wish I had something reasonable in Ocaml. The only other language I know of that competes is Mozart/Oz, and the implementation is not nearly as mature and has even taken steps backwards with Ozma (IMO). Erlang programs generally just scale very well thanks to the very simple, very limiting, but very understandable and open to optimization.
I played with Mozart/Oz while reading van Roy’s book. The Kernel concept of the book is really cool.
We used Erlang at my workplace until recently. I have to say I don’t really mind it, I pretty much agree with most of the criticisms that have been levelled at it (strings as lists of ints…, et. al.), but overall I was happy with it. The things it does well, it does really well.
The things it does well, it does really well.
Is there a list of these things somewhere?