What would it be like to program in a language without the frustrating concept of null? In our new book, Maybe Haskell, we explore exactly this. Haskell takes the idea that some values may not be present and makes it a first-class concept in the type system. In this book, you'll learn just enough Haskell to really see how this idea works in practice.
Functional programming is becoming more and more mainstream. Haskell is a great pure functional language with a lot of interesting ideas. This book is not about learning Haskell, but mostly about one thing — the Maybe type and why it's superior to nil-ubiquity in other languages. It also covers Functors, Applicative Functors, and Monads, because that's essential to understand the concept.
The book explains the concepts fairly well. Most likely, it's not enough to understand completely though, so make sure to read a few dozens of other articles explaining Maybe, monads, etc. after the book — yes, there are a bunch of good articles on the internet.
A compact, targeted introduction to some concepts that are important to functional programming but often unfamiliar & confusing to beginners. Pat's writing is clear and to the point, and stays focused on his subject without trying to be a more general "how to program" tome.