It turns out solving chess moves with recursion and pattern matching is a lot of fun!
How to optimize for a living codebase, where a line of code will be repeatedly
read, adapted and copied.
When you spot Maybe List
in your code, it may be time to think about alternatives.
When coming to a functional language, I often hear people ask, “How do I organize my code?” Let’s take a look at some ways in which data can tell us how to organize our modules and functions.
Write more confident code to avoid viral Maybe
taking over your project.
Refactor common Boolean smells using enums (union types).
Complexity makes apps harder to use and harder to maintain. We can avoid that unnecessary complexity by starting with good defaults and from there making informed decisions about where to diverge from them.
Choose the right tool for the job when building modular software.
Using composition to build modular object-oriented systems.
Solving the combinatorial explosion problem with multiple inheritance.