Domain Modeling Made Functional - Scott Wlaschin - KanDDDinsky 2019
KanDDDinsky3 HN recommenders · 2020–2026
74K views · talk · evergreen · Uploaded 2019-12-06
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'.
53:22Ruby Conf 12 - Y Not- Adventures in Functional Programming by Jim Weirich
Confreaks
49:55How Python was Shaped by leaky Internals, Armin Ronacher, Flask framework
Видео с мероприятий {speach!
38:47RailsConf 2014 - All the Little Things by Sandi Metz
Confreaks
42:03The Soul of Erlang and Elixir • Sasa Juric • GOTO 2019
GOTO Conferences
1:01:39"Simple Made Easy" - Rich Hickey (2011)
Strange Loop Conference
25:06"Making Impossible States Impossible" by Richard Feldman
elm-conf
1:31:06William Byrd on "The Most Beautiful Program Ever Written" [PWL NYC]
PapersWeLove
1:00:19How To Design A Good API and Why it Matters
Google TechTalks
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: [VIDEO]
For anyone looking for a smaller introduction to this book, the author Scott Wlaschin has a talk with the same name: [VIDEO] It doesn't cover a lot of good topics in the book, but it might whet your appetite.
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]
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]