These are chat archives for RBMHTechnology/eventuate

13th
Jan 2016
Martin Krasser
@krasserm
Jan 13 2016 04:06

@juanjovazquez The main reason for choosing the actor-based implementation was familiarity. In the projects at RBMH, we initially wanted to use akka-persistence but we soon found that support for global distribution with a focus on AP of CAP would require major changes to it (more details in this blog post). So, we decided for a rewrite and created Eventuate which is meanwhile, from a high-level perspective, a functional superset of akka-persistence.

I cannot say that the actor-based approach is superior/inferior to a pure functional approach. It just has never been discussed. What I like about the actor-based approach is that you can easily reason about consistency boundaries and units of concurrency incl. their representation in vector clocks etc. On the other hand, I'm also following the recent functional approaches to ES using free monads, for example, but that's currently more of personal interest. I'm still in the phase of trying to grasp how a pure functional approach, that covers all aspects of Eventuate, could look like than having a clear picture.

Juan José Vázquez
@juanjovazquez
Jan 13 2016 09:34
I see. I also find easier to reason about concurrency in terms of actors and that it's obviously its main strength. But, you know, sometimes I have to defend this position against FP purists ;-). I'll be aware of your work on ES and free monads as your work is always top notch. Thanks :-).
Martin Krasser
@krasserm
Jan 13 2016 12:47
@juanjovazquez Thank you, hope this will not tragically end then :smile:
Juan José Vázquez
@juanjovazquez
Jan 13 2016 13:51
LOL