The "Understanding Parser Combinators" series

In this series, we'll look at how so-called "applicative parsers" work. In order to understand something, there's nothing like building it for yourself, and so we'll create a basic parser library from scratch, then some useful "parser combinators", and then finish off by building a complete JSON parser.

Building a parser combinator library from scratch
15 or so combinators that can be combined to parse almost anything
Adding more informative errors