title: Actor-based distributed concurrency libraries for Ocaml and other languages
body: <h2>Question</h2>
  
  <p>Can anyone recommend a library for Ocaml that offers an <em>actor-based concurrency model</em> for <em>distributed computing</em>?</p>
  
  <p>Note here the "actor-based" and "distributed" - I'd like the actor-based model, but also I want seamless handling of distributed actors - I don't want to write the protocol to talk to them. The library should ideally also offer standard patterns such a supervisor trees and so on.</p>
  
  <hr>
  
  <h2>Motivation</h2>
  
  <p>I love Erlang concurrency model and ability to transparently deal with distributed processes and local processes together. However, I find Erlang's syntax to be rather limiting and would like a much more expressive language. I'm considering moving from Erlang to either Scala or Ocaml.</p>
  
  <p>I know Scala has the Akka library which seems to offer a nice Scala version of Erlang's concurrency model. I'd like to see what is available on the Ocaml side.</p>
  
  <hr>
  
  <h2>Aside</h2>
  
  <p>I'd also be happy to hear about actor-based concurrency libraries for other languages (particularly C++, Haskell, Python and Ruby).</p>