Daniel is a somewhat functional developer who's convinced that the best way to learn something is to teach it.
The ideal coined by Yaron Minsky, “make illegal states unrepresentable,” is as simple as it is profound. The benefits of writing software that conforms to this maxim range from easier-to-comprehend code, to a reduced number of bugs (and a reduced number of tests, to boot). This approach to writing code should be applicable in any setting, but strongly-typed functional programming is particularly well-suited to achieving the goal of reducing the number of illegal states of a system.
In this beginner-friendly talk, we will see a number of simple techniques that we can apply to our code to get ourselves closer to the ideal of making illegal states unrepresentable.