“Why Functional Programming Matters” by John Hughes.
https://www.cs.kent.ac.uk/people/staff/dat/miranda/whyfp90.pdf.
https://blog.acolyer.org/2016/09/14/why-functional-programming-matters/
“The Design of a Pretty-printing Library” by John Hughes.
http://belle.sourceforge.net/doc/hughes95design.pdf
“Monads for functional programming” by Philip Wadler.
http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf
https://blog.acolyer.org/2014/11/10/monads-for-functional-programming/
“Comprehending Monads” by Philip Wadler.
https://ncatlab.org/nlab/files/WadlerMonads.pdf
“Monadic Parser Combinators” by Graham Hutton.
http://www.cs.nott.ac.uk/~pszgmh/monparsing.pdf
“Tackling the Awkward Squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell” by Simon Peyton Jones.
https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/mark.pdf
Strongly recommend Higher Order Functions for Parsing before monadic parsers.
"Monadic parsers" is, in all effect, a sequel to HOFP.