<br><br><div class="gmail_quote">On Wed, Feb 13, 2013 at 1:42 AM, Toby Thain <span dir="ltr"><<a href="mailto:toby@telegraphics.com.au" target="_blank">toby@telegraphics.com.au</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 11/02/13 10:09 AM, Andrew Pennebaker wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Of course Erlang has a killer actors library as a core component of<br>
itself. Sadly, Erlang is not always an option (e.g., customer requires a<br>
JVM language). Which actor libraries in other languages come close to<br>
Erlang's in terms of:<br>
<br>
* Syntax conciseness (spawn, !, receive)<br>
* Polymorphism (receiving different kinds of messages)<br>
* Fault-tolerance (GC per actor, actor crash doesn't crash the system)<br>
</blockquote>
<br></div>
Akka and Scala specifically offer all the above.</blockquote><div><br>Plus the actor model does not address problems of fault propagation.<br><br>The statement "X has Erlang like semantics" usually means "X has Erlang like semantics<br>
<emph>except for error handling</emph>" - handling errors out-of-band is a big win.<br><br>Isolation is the key property that must be guaranteed for actors. If <<I>> can crash<br><<your>> code then all bets are off.<br>
<br>/Joe <br><br><br><br><br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
* Live updates (different code versions up at the same time, hot code<br>
updates)<br>
</blockquote>
<br></div>
This can be done on the JVM, as I understand it (JRebel etc) but I can't speak from experience. Certainly it's not as designed-in and natural as Erlang.<span class="HOEnZb"><font color="#888888"><br>
<br>
--Toby<br>
<br>
<br>
</font></span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
<br>
Does Scala and/or Akka offer anything like these features? What about<br>
Ruby's Celluloid? What are the best actor libraries in Common Lisp and<br>
Scheme?<br>
<br>
The Haskell community seems to prefer STM over actors. How does the<br>
Erlang community feel about STM?<br>
<br>
--<br>
Cheers,<br>
<br>
Andrew Pennebaker<br>
</div><div class="im"><a href="http://www.yellosoft.us" target="_blank">www.yellosoft.us</a> <<a href="http://www.yellosoft.us" target="_blank">http://www.yellosoft.us</a>><br>
<br>
<br>
<br>
______________________________<u></u>_________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/<u></u>listinfo/erlang-questions</a><br>
</div></blockquote><div class="HOEnZb"><div class="h5">
<br>
______________________________<u></u>_________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/<u></u>listinfo/erlang-questions</a><br>
</div></div></blockquote></div><br>