Event Sourcing, Functionally – Arnaud Bailly

video:

Domain-Driven Design Europe 2017
http://dddeurope.com – https://twitter.com/ddd_eu

Pure and lazy functional programming languages seem a perfect fit to implement Domain Driven Design using Event Sourcing as a domain storage principal. Immutable and persistent data structures, call-by-need evaluation, memoization, referential transparency, compositionality and strong typing are some features offered by Haskell that provides building blocks for growing domain-centric and flexible applications.

This session is a detailed walkthrough of one possible implementation of Event Sourcing in Haskell, drawing on the speaker's experience as CTO of Capital Match, a crowdlending startup based in Singapore whose system is built using this technology. We will implement a simple yet useful model, going through all the various stages and layers needed to expose a service, persist state, apply business rules, manage migrations, in Haskell. Along the way, we aim to demonstrate that Haskell, thanks to its pure lazy semantics and rich type system, provides useful tools for the practitioner to develop concise, expressive, composable and safe code.

Tags

Follow us

Read our latest news from Virtual DDD on any of these social networks!

Recent videos

Systems Thinking Intro with Lorraine Steyn

Systems thinking is the macro behaviour that we must understand in analyzing our world. A system always produces what it is designed to do, even if that isn't at all what we meant it to do! Systems are self-maintaining, and contain balancing and/or reinforcing...