Statically typed functional programming languages like F# 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.
YOU MAY ALSO LIKE:
- Understanding Parser Combinators: A Deep Dive - Audience Level: Beginner (SkillsCast recorded in April 2017)
- Domain-Driven Design in Practice with Michael Plöd (Online Workshop on 20th - 22nd September 2022)
- Functional Concurrency in .NET with C# and F# with Riccardo Terrell (Online Workshop on 11th - 14th October 2022)
- F# eXchange 2022: Online (Online Conference on 25th - 26th October 2022)
- F# eXchange 2022: In-Person (in London on 25th - 26th October 2022)
- LDN Talks May 2022 - Quickwit Takeover (in London on 30th May 2022)
- Software Architecture in a DevOps World (SkillsCast recorded in February 2022)
- A Conceptual Introduction to Nix for Haskellers (SkillsCast recorded in November 2021)
Domain Driven Design, F# and Types
Scott Wlaschin
Scott has over 20 years experience in software development, design and architecture, covering all aspects of business software.