Scalæ By the Bay has ended
Saturday, November 12 • 1:40pm - 2:00pm
Functional API for defining type safe, reliable Akka actors

Sign up or log in to save this to your schedule and see who's attending!

Akka Typed is a fairly new module of Akka, providing a statically type safe way to define actors, and interact with them. However, still being an experimental module, its integration with various other components of Akka is not yet complete. For example, it provides no support for defining event sourced (persistent) actors. This talk will present a functional API we built on top of Akka Typed. This API makes it easy to define type safe event sourced actors, and it is also integrated with Akka cluster sharding. The talk will describe how various functional programming techniques allow us to provide a convenient and flexible API offering static type safety. For example, free monads allow us to define a DSL for event sourcing (using an "actor algebra"), and type classes make the system extensible by end users. A sketch of the implementation will also be presented, demonstrating some practical aspects of these techniques. We will also discuss the advantages of our typed, monadic persistence API over the untyped one provided by Akka Persistence, and even look at some possibilities for further improvements.

avatar for Daniel Urban

Daniel Urban

Research Engineer, Nokia Bell Labs
I'm a research engineer at Nokia Bell Labs, currently working on distributed systems with Scala and Akka. In my free time I occasionally contribute to open source Scala libraries (like shapeless or Cats).

Saturday November 12, 2016 1:40pm - 2:00pm

Attendees (36)