Actors in Kotlin


#1

I have done some experiments with Kotlin actors. These work nicely, however are bare-bones in terms of structure around them. This would tend to lead developers to producing bespoke and distinct solutions around some of the missing functionality:

  • agent location (finding agents by name)
  • agent management

In some github discussions Elizarov has indicated that is hesitant to develop a full actor framework as would be compared / in competition to other well-developed libraries out there.

What is the view as to the future of actors within the Kotlin ecosystem? Do we build a new library around the basics provided in the coroutine extensions, use Akka with hopes of better integration with Kotlin or use of coroutines / closures when it comes to the JVM? The Kotlin actors have the upside of making use of coroutines and the advantages that may confer for fine-grained performance. Akka, I believe is thread-bound ratther than fiber or closure / coroutine based, potentially limiting fine-grained scalability.

Are people using Akka, Vert.x, Quasar, or rolling their own agent structure around the basic Kotlin functionality?