Composable event sourcing with monads
summary
Claims a Sourced monad lifts commands into composable creation/update values so event sourcing becomes a persistence detail, reifying intermediate events and accumulating them automatically. Uses Scala, Cats/Scalaz style monad transformers and the writer monad idea, demonstrates optimistic concurrency via optimistic locking, and shows a small reference implementation and examples (not a production library) that the authors use on major projection systems.
AI-written summary · about
chapters (20)
- 0:00Introduction
- 1:19Agenda
- 1:58What is even sourcing
- 4:19Building blocks for even sourcing
- 9:55Persistence
- 11:18Model
- 11:36composability
- 12:26why compose commands
- 13:49basic atomic events
- 14:34real life example
- 15:58omit multiple events
- 17:03atomic multiple events
- 18:22Limitations
- 19:03Three problems
- 19:57Using helper methods
- 24:50Creation vs updates
- 28:36New syntax
- 29:50Conditional commands
- 31:06Concatenate modification
- 32:16Concurrency








