Functional Programming can help you keep your aspects pure and principled!
Functional Foundation of Event Sourced Application
One of the goals we had when we started with Fun.CQRS was to come up with the definition of the most basic functions that every CQRS and Event Sourced application must support. It’s often said in the CQRS community that frameworks are not needed because the basic operations are quite trivial. This is true, as we are going to see during the talk. However, it’s not that trivial to deal with failure, asynchronicity, concurrency, IO, etc. It turns out that functional programming offers many constructs that can help us to deal with all those aspects while staying pure and principled. We are convinced that a solid functional foundation for CQRS/ES can lay the path for better abstractions and more expressive modeling.