Different Scala Actor Implementations Overview

Stefan K. picture Stefan K. · May 25, 2010 · Viewed 9.8k times · Source

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