Conclusion

We have seen how to create a small parser library then use that library to create our own custom parsers. We did this by putting together parts to create more specialised parts. [1]

This process is the essence of functional programming. It scales up to larger programs and demonstrates that functional programming is incredibly practical for solving real-world problems, much more so than traditional methods.

We observed a programming pattern called the monadic model and we exploited Haskell's built-in support for it.

What other types of problems fit this model? The answer(s!) to this question run deep, but that's for another day.



[1] An industrial strength implementation of this type of parser library is Parsec.