u/TechnoEmpressin r/functionalprogramming • Recommends
#f##domain-drivendesign#algebraicdatatypes
Domain Modeling Made Functional - Scott Wlaschin - KanDDDinsky 2019
4.3K subscribers • 1 video on Hallway
- Recommended by 6 people: 3 on Hacker News and 3 in engineering communities.
- A classic. People kept recommending it from 2020 to 2026.
- Presented by Scott Wlaschin, author of Domain Modeling Made Functional
Intermediate. Assumes working knowledge.
73K views6 years ago6 recommendations
Software designProgramming languagesDomain-driven designSoftware architectureFunctional programming
Scott Wlaschin demonstrates how to use statically typed functional programming in F# to model business domains and make invalid states unrepresentable.
Statically typed functional programming languages encourage a very different way of thinking about types. The type system is your friend, not an annoyance, and can be used in many ways that might not be familiar to OO programmers. Types can be used to represent the domain in a fine-grained, self documenting way. And in many cases, types can even be used to encode business rules so that you literally cannot create incorrect code. You can then use the static type checking almost as an instant unit test — making sure that your code is correct at compile time. In this talk, we'll look at some of the ways you can use types as part of a domain driven design process, with some simple real world examples in F#. No jargon, no maths, and no prior F# experience necessary.Why it's here
6 people recommend thisWhat people say. Recommended as an eye-opening introduction to using static type systems for domain-driven design and making invalid states unrepresentable.
u/notfromkentohioin r/functionalprogramming • Recommends
devmunchieson Hacker News • Recommends
On “Draft of OCaml Scientific Computing book”
Huggernauton Hacker News • Recommends
On “Learn Functional Programming Visually”
rapnieon Hacker News • Recommends
On “'Make invalid states unrepresentable' considered harmful”
rapnieon Hacker News • Recommends
On “Parse, Don't Validate and Type-Driven Design in Rust”
u/TheSilverNimbusin r/functionalprogramming • Mentions
On “Which Functional Language with strong typing to learn?”
u/syedajafri1992in r/haskell • Mentions
On “Haskell for XP style discussions”
u/SIRHAMYin r/functionalprogramming • Mentions
On “Scott Wlaschin: Functional Core, Imperative Shell ”
u/aarkerioin r/Clojure • Mentions
On “What's the idiomatic way to think about type safety/domain modeling in Clojure?”
u/CATo5ain r/typescript • Mentions
On “How can I get my coworkers to start "thinking with types"?”
u/syedajafri1992in r/haskell • Mentions
On “What is Haskell good for?”
u/TechnoEmpressin r/ProgrammingLanguages • Mentions
On “Static vs dynamic typing, would love to hear your opinions”
u/nadameuin r/functionalprogramming • Mentions
On “If FP can't use UML Class Diagram, then how do you represent your systems?”