This project contains the source code for a conference talk. It's loosely based on chapter 7 of my book Grokking Functional Programming.
In this session, we will change the way we model data in our applications. We will use more types to minimize potential programmer mistakes. We will learn techniques that enhance the maintainability of our codebases. We will also make implementations smaller and less complicated! Too good to be true? Let's prove it using a real-world example starting with a "good enough" design and iteratively improving it to something completely bulletproof.
In this session, you will learn:
- how to model your immutable data to minimize errors
- how to model your requirements as immutable data
- how to find problems in requirements using the compiler
- how to make sure your logic is always executed on valid data