

Not directly, no. We are of course very much aware of Erlang, but we didn't study it before designing Axum. On the other hand, both languages are influenced by the common actor-oriented roots. The direct influences on Axum have been CSP and pi-calculus, BizTalk, Ada and the language SR (rather obscure, but that's where we got the idea for domains from). Also, the service-oriented way of breaking down a problem was a great source of inspiration.



If you look at Erlang and Axum, you will find that there are many similarities and many differences:



Erlang achieves isolation through the immutability of its data structures, Axum through scope-based isolation and making object graphs non-reachable.



Erlang does away with the object-oriented paradigm, while Axum is swimming in a sea of objects. This is the biggest reason why, even if we had studied Erlang first, Axum would still look very different -- .NET is OO, and we have to mesh well with that.



Erlang follows the traditional mailbox-processor actor design pattern, while Axum uses channels that are more like stay-alive HTTP sessions. We think this is a significant advancement on the actor pattern; we're learning from how the web, the biggest, most parallel, software system in existence, is programmed.



One thing the two have in common is the light-weight actors, and the affinity for message-passing, of course.





Niklas