HackerTube.dev

Domain Modeling Made Functional - Scott Wlaschin - KanDDDinsky 2019

KanDDDinsky · 73.9K views · 2019-12-06 · 50:49

Open on YouTube ↗

If playback is restricted in your region, try opening the original video. Use Mark watched to add it to your marked videos.

Overview

Scott Wlaschin shows how statically typed functional languages, using F# examples, can model a business domain so that invalid states cannot be represented. The type system acts almost like an instant unit test at compile time.

On Hacker News

HN treats it as the canonical, approachable example of domain-driven design with types and 'make invalid states unrepresentable'.

Recommended by 3 HN people across 4 months · HN mentions 2020–2026

Topics

Search by tags

What people said

devmunchies · 2020-08 · Strong recommendation

I wouldn't say its unloved or on a side track, it's baked into .net as a first class citizen and has dedicated engineers at Microsoft working on it. When I started I was pleasantly surprised how easy it was to download .net core on a mac and not do anything else to use F#. Its less popular than C# so its there's not as much documentation from 3rd party sources, youtube videos, etc, but you can use any C# modules in F# so you'll get used to reading C# docs. I would highly recommend this overview of the .Net ecosystem: [LINK] I really like how it showed a preview of "modern C#" at 12:20 which is being influenced by F#. After that, this talk opened my eyes to the power of f# philosophy and type system: [VIDEO]

Read the original HN comment ↗
rapnie · 2026-02 · Recommendation

You can also search for "make invalid states impossible/unrepresentable" [0] to find more info on related practices. See "domain modeling made functional" [0] as a nice example [0] [LINK] [1] [VIDEO]

Read the original HN comment ↗
rapnie · 2025-09 · Recommendation

I can recommend "Domain Modeling Made Functional" by Scott Wlaschin presented at KanDDDinsky 2019, that offers a very appealing example for making making invalid states unrepresentable. The example code is in F# but that is a perfect language to demonstrate the general idea. Best-practice I guess boils down to finding the right balance throughout the application design. [VIDEO]

Read the original HN comment ↗

Sources

Video by KanDDDinsky, played through YouTube.

Data and selection notes

HN summaries and labels may contain AI errors. HN dates refer to discussions, not video publication.

HN Library: HackerTube export (2026-10-31) and open-index/hacker-news. Upstream summaries and classifications may contain AI errors.

Views, duration and playback status refresh separately from the published catalog. When an update fails, existing data remains visible.

Selection checks
  • SaaS & AI candidates: Topic keywords do not match
  • Editor-approved picks: Editorial review is required

Rule matches identify candidates. They do not guarantee video quality or financial results.

About the library and its sources