Domain Modeling Made Functional - Scott Wlaschin - KanDDDinsky 2019
KanDDDinsky3 HN recommenders · recommended in 4 months, 2020–2026
talk · intermediate · evergreen · 2020–2026 on HN
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.
HN treats it as the canonical, approachable example of domain-driven design with types and 'make invalid states unrepresentable'.
Up next
12 mo on HNTIMELAPSE OF THE FUTURE: A Journey to the End of Time (4K)
melodysheep
13 HN recommender · 2019–2025
1 mo on HNThe past, present, and future of local-first - Martin Kleppmann (Local-First Conf)
Local-First Conf
1 HN recommend · 2025–2025
2 mo on HNMakepad: Designing modern UIs with Rust - Rik Arends - RustNL 2023
RustNL
2 HN recommender · 2023–2024
4 mo on HNWho Destroyed Three Mile Island? - Nickolas Means | The Lead Developer Austin 2018
LeadDev
4 HN recommender · 2020–2024
18 mo on HNRuby Conf 12 - Y Not- Adventures in Functional Programming by Jim Weirich
Confreaks
17 HN recommender · 2013–2026
14 mo on HNThe Soul of Erlang and Elixir • Sasa Juric • GOTO 2019
GOTO Conferences
16 HN recommender · 2019–2024
14 mo on HN"Simple Made Easy" - Rich Hickey (2011)
Strange Loop Conference
14 HN recommender · 2022–2026
13 mo on HN"Making Impossible States Impossible" by Richard Feldman
elm-conf
9 HN recommender · 2017–2026
12 mo on HNWilliam Byrd on "The Most Beautiful Program Ever Written" [PWL NYC]
PapersWeLove
11 HN recommender · 2017–2026
11 mo on HNThe Value of Values with Rich Hickey
InfoQ
10 HN recommender · 2014–2023
12 mo on HNWhy Isn't Functional Programming the Norm? – Richard Feldman
Metosin
12 HN recommender · 2019–2025
11 mo on HNMaybe Not - Rich Hickey
ClojureTV
14 HN recommender · 2018–2025
4 comments from Hacker News
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
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
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
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.