Different Scala Actor Implementations Overview
actor, akka, lift, scala, scalaz
Solution
This is the most comprehensive comparison I have seen so far:
http://doc.akka.io/docs/misc/Comparison_between_4_actor_frameworks.pdf via http://klangism.tumblr.com/post/2497057136/all-actors-in-scala-compared
Problem
I'm trying to find the 'right' actor implementation. I realized there is a bunch of them and it's a bit confusing to pick one. Personally I'm especially interested in remote actors, but I guess a complete overview would be helpful to many others. This is a pretty general question, so feel free to answer just for the implementation you know about. I know about the following Scala Actor implementations (SAI). Please add the missing ones. - Scala 2.7 (difference to) - Scala 2.8 - Akka (http://www.akkasource.org/) - Lift (http://liftweb.net/) Scalaz (http://code.google.com/p/scalaz/) What are the target use-cases for these SAIs (lightweight vs. "heavy" enterprise framework)? - do they support remote actors? What shortcomings do remote actors have in the SAIs? - How is their performace? - How active is there community? - How easy are they to get started? How good is the documentation? - How easy are they to extend? - How stable are they? Which projects are using them? - What are their shortcomings? - What are their design principles? - Are they thread based or event based (receive/ react) or both? - Nested receiveS - hotswapping the Actor’s message loop