Parser Combinators: How to Parse (nearly) Anything

A session at Strange Loop 2011

Monday 19th September, 2011

2:00pm to 2:50pm (CST)

Parser combinators are a programming concept that can be used to parse and process a huge class of grammars. They are lightweight and nimble like a rhinoceros thrown from a plane at altitude is not.

This is mostly a technique talk. Parser combinators are not specific to a language, nor are they found in only a single, specific library. They fill a wide gap where DSLs come up short and full parser-generators like ANTLR or yacc are too heavy-weight.

Under the hood, parser combinators are left-recursive (one of the 2 best kinds of recursive), have infinite lookahead (which, disappointingly, can not be used for nefarious time continuum-related mischief) and, for fans of category theory, can be defined both in terms of an associative binary operator and an identity value (I understand if this doesn’t turn everyone’s crank).

I’ll explain all of the above and more, using sample code from diverse languages with that hope that I can impart a very practical knowledge to my listeners about what makes parser combinators tick and how they can be used to greatly expand the number of languages an application speaks.

About the speaker

This person is speaking at this event.
Nate Young

deeply nested and lazily evaluated bio from Twitter

Next session in Grand Ballroom

3:30pm Monads Made Easy by Jim Duey

Coverage of this session

Sign in to add slides, notes or videos to this session

Tell your friends!


Time 2:00pm2:50pm CST

Date Mon 19th September 2011


Grand Ballroom, Hilton St. Louis at the Ballpark

Short URL


View the schedule



See something wrong?

Report an issue with this session