2013/2/13 Toby Thain <span dir="ltr"><<a href="mailto:toby@telegraphics.com.au" target="_blank">toby@telegraphics.com.au</a>></span><br><div class="gmail_quote"><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).</blockquote></div></blockquote><div>Oh, but Erlang *is* a JVM language these days :-) Albeit not maturely enough for production use, last I checked.<br> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> Which actor libraries in other languages come close to<br>
Erlang's in terms of:<br>
<br>
* Syntax conciseness (spawn, !, receive)<br></blockquote></div></blockquote><div>Missing from the list: selective receive. :-) <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
* 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 class="im">Probably not the "GC per actor" part...<br>What other systems *do* provide that, though?<br>(I suspect Dart does, but it is lacking in other respects.)<br>
<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><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
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></font></span></blockquote>
<div><br>Interesting; I didn't know about JRebel and LiveRebel.<br><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="HOEnZb"><font color="#888888">
<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>