Skip to content
HHackerTube.videoSurprise me

Domain Modeling Made Functional - Scott Wlaschin - KanDDDinsky 2019

Domain Modeling Made Functional - Scott Wlaschin - KanDDDinsky 2019 on HackerTube: recommended by 3 Hacker News commenters across 4 separate months, 2020–2026.

KanDDDinsky

talk · intermediate · evergreen

Open on YouTube

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.

Why Hacker News recommends it

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

people recommended it
3
separate months
4
strong recommendations
1
discussed on HN
2020–2026
“this talk opened my eyes to the power of f# philosophy and type system”
— devmunchies, Aug 2020, in “Draft of OCaml Scientific Computing book”

What HN commenters said

4 Hacker News comments link this video. Each one links back to its thread.

devmunchiesAug 2020Strongly recommends

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: ▶ this video

in “Draft of OCaml Scientific Computing book” · View on HN

rapnieFeb 2026Recommends

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] ▶ this video

in “Parse, Don't Validate and Type-Driven Design in Rust” · View on HN

rapnieSep 2025Recommends

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. ▶ this video

in “'Make invalid states unrepresentable' considered harmful” · View on HN

HuggernautFeb 2021Recommends

For anyone looking for a smaller introduction to this book, the author Scott Wlaschin has a talk with the same name: ▶ this video It doesn't cover a lot of good topics in the book, but it might whet your appetite.

in “Learn Functional Programming Visually” · View on HN

Topics & tags

Functional programmingSoftware architecture & designProgramming language designf#functional programmingdomain-driven designtype systemsscott wlaschin