Summary of the key concepts covered in this activity
Parsing text is a very common and important operation. Monadic parser combinators are a convenient mechanism to build parsers by combining building blocks, and a good illustration of the practical use of a monad. (We will cover monads in more detail in week 6.)
Each parser is a higher-order function that returns a function. The parser combinators combine these functions into the final parser.