Arnaud Bailly

Arnaud Bailly

Event Sourcing, Functionally

@abailly · France


Arnaud has been developing software professionally since 1994. Passionate about all aspects of coding, he has worked as: Researcher/PhD Student on test generation, IT Provider, Freelance consultant on software quality, trainer on various software engineering topics, agile coach, software architect, lead developer, CTO in startups...


Event Sourcing, Functionally

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.

Mel Conway

Inventor, Educator, Author of “Conway's Law”

Eric Evans

Author of “Domain-Driven Design”

Rebecca Wirfs-Brock

Responsibility-Driven Design

Udi Dahan

Founder of NServiceBus

Prof. David West

Author of “Object Thinking”

Weronika Łabaj


Jimmy Nilsson

Author of “Applying DDD & Patterns”

Debasish Ghosh

Functional and Algebraic Domain Modeling

Nick Tune

Co-author of “Patterns, Principles and Practices of DDD”

Greg Young

Creator of CQRS

Alberto Brandolini

Inventor of “EventStorming”

Felienne Hermans

Author of "Grokking Computational Logic"

Robert Smallshire

Modeller of domains, systems and processes

Yves Lorphelin

Loves Chaos & Failures

Andra Sonea

Solutions Architect, Financial Services

Vaughn Vernon

Author, consultant, trainer

Arnaud Bailly

Event Sourcing, Functionally

Thomas Ploch

Infinite State Machine

Thomas Coopman


Stijn Volders


Scott Wlaschin

Creator of

Romeu Moura

Reasoned Schemer

Avraham Poupko

Technical leader

Jérémie Chassaing

Software Gardener

Paul Rayner

Leading DDD and BDD practitioner

Oana Juncu

Agile Business DJ

Nicole Rauch

Software Developer and Development Coach

Cyrille Martraire

Deliberate Designer

Michel Grootjans


Allard Buijze

Pragmatic modeller, creator of AxonFramework

Mathias Verraes

Student of Systems

Marijn Huizendveld

Nerd in a suit

Ken Power

Complexity Navigator

Edwin van Wijk

Software Architect

Yves Reynhout

The Journeylist

Receive Important Updates


Contact us at for sponsor opportunities.