Every so often when programmers are complaining about null errors/exceptions someone asks what we do without null.
I have some basic idea of the coolness of option types, but I don’t have the knowledge or languages skill to best express it. What is a great explanation of the following written in a way approachable to the average programmer that we could point that person towards?
- The undesirability of having references/pointers be nullable by default
- How option types work including strategies to ease checking null cases such as
- pattern matching and
- monadic comprehensions
- Alternative solution such as message eating nil
- (other aspects I missed)