Skip to main content

Research Repository

Advanced Search

Monadic parser combinators

Hutton, Graham; Meijer, Erik


Erik Meijer


In functional programming, a popular approach to building recursive descent parsers is to model parsers as functions, and to define higher-order functions (or combinators) that implement grammar constructions such as sequencing, choice, and repetition. Such parsers form an instance of a monad, an algebraic structure from mathematics that has proved useful for addressing a number of computational problems. The purpose of this report is to provide a step-by-step tutorial on the monadic approach to building functional parsers, and to explain some of the benefits that result from exploiting monads. No prior knowledge of parser combinators or of monads is assumed. Indeed, this report can also be viewed as a first introduction to the use of monads in programming.


Hutton, G., & Meijer, E. (1996). Monadic parser combinators. School of Computer Science and IT

Book Type Monograph
Publication Date Jan 1, 1996
Deposit Date Oct 26, 2005
Publicly Available Date Oct 9, 2007
Peer Reviewed Not Peer Reviewed
Public URL


You might also like

Downloadable Citations