Domain Modeling Made Functional book written by Scott Wlaschin

Domain Modeling Made Functional with Scott WLASCHIN- Online Workshop: 21-24-28 september 2020, 1-5-8-12-15 october 2020 (2 hours session each day)


Online Workshop in Live Streaming with Scott Wlaschin.
The orginal 2-day workshop will be split over 8 two hours sessions : 21-24-28 september 2020, 1-5-8-12-15 october 2020, from 18.00  to 20.00 pm (CEST) each day.

Functional programming and domain-driven design might not seem to be a good match, but in fact functional programming can be an excellent approach to designing decoupled,reusable systems with a rich domain model. This workshop will show you why.

This will be a hands-on workshop designed for beginners in functional programming.

We’ll do lots of exercises and build some small projects that take us all the way from high-level design to low-level implementation.

Workshop format:

Each session is two hours long, with a space of three days to allow attendees to work on each part to easily integrate it.

Each session starts at 18:00 CEST to allow people to attend it after a work day.


We will be using F# as our development language. No experience with F# needed.

Instructions on how to install F# and configure your workstation will be provided before the workshop.

The workshop will be held inEnglish, so understanding English is mandatory.

Dates and Timing: The workshop will take place online and in live streaming on 21-24-28 september 2020, 1-5-8-12-15 october 2020, from 18.00  to 20.00 pm (CEST) each day.

To attend this workshop, you’ll need a stable internet connection (20MB in download). It is advise to check your connection’s speed.

Maximum number of attendees: 20 participants.


Online Workshop – How does it work

The workshop will happen online and in live streaming: the trainer and all other participants will be in a video conference. You’ll be interacting and working together in real-time thanks to a variety of tools you’ll have at your disposal.

The workshop will keep its highly interactive and hands-on spirit despite being online.
This is why we require that all participants keep their webcam on for the whole duration of the workshop: this will enhance the quality of the communication and of the workshop as a whole.
You won’t be sitting at your desk watching slides and videos, and you’ll be engaged in real-time activities for the majority of the time… as if we were in a real classroom!


This is what you will learn

  • The concepts of functional programming
  • How to represent the nouns and verbs of a domain using types and functions
  • How to decouple the pure domain logic from the outside world
  • How to ensure that constraints and business rules are captured in the design
  • How to represent state transitions in the domain model
  • How to build a business workflow from smaller components
  • How to handle errors as part of the domain

By the end of the workshop, you’ll know how to build working solutions with rich domain models, using only functional programming techniques.


Ticket price : 799€ VAT excluded of 20% (959€ VAT included)

Registration here



Each session is 2 hours long.


Sessions 1 & 2 

1. Overview of DDD principles

  • Event storming
  • The importance of bounded contexts
  • Persistence ignorance
  • Domain modelling with AND/OR
  • Exercises: Model some common domains

Sessions 3 & 4

1. Introduction to functional programming

  • Functions and types
  • Composition as the fundamental principle

2. Functional architecture

  • Bounded contexts and Functional architecture
  • Working with IO
  • Testing

Sessions 5 & 6

1. Domain Modeling with algebraic types

  • Records, choices, simple types (SCU), and functions
  • Modeling constraints, options
  • Making illegal states unrepresentable
  • Modeling states

Session 7

1. Error handling

  •  Handling domain errors
  • Composing complex functions

Session 8

1. The functional toolkit

  • Monads. Monoids and More!


Scott Wlaschin is a developer, architect and author.

He is the author of the popular F# site, and the book « Domain Modeling Made Functional », published by Pragmatic Bookshelf.

Known for his non-academic approach to functional programming, Scott is a popular speaker and has given talks at NDC, F# Exchange, DDD Europe, and other conferences around the world.