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