Theme 1 – Pedagogical simplicity and functional appeal
Many commenters highlighted how parser combinators turn parsing into a clear, composable function and are great for teaching concepts like currying and partial application.
“it’s really easy to think of a discrete parsing task as a function; tokenizing is mostly irrelevant; for pedagogical reasons, they make it easier for students to grasp the point of curried functions and partial application.” – raddan
“Tokenising is actually a strength of PC, it fits the parser structure exactly!” – mrkeen
“I even maintain a (mostly mature) parser combinator library for TypeScript for students in my research group to use.” – raddan
Theme 2 – Limitations and performance concerns
Several participants warned that combinators can struggle with left‑recursive grammars, suffer from backtracking on ambiguous inputs, and may require extra unwrapping/mapping code that hurts readability.
“They should at least point out the limitations of the approach. For example that they cannot handle left‑recursive grammars, and that they tend to backtrack a lot on ambiguous grammars leading to exponentially bad performance.” – amelius
“One disadvantage that I think parser combinators have … is that you have to add a lot of mapping / unwrapping code… makes the parsers harder to read.” – ArneCode
“The article was somewhat difficult to read due to the limited area devoted to the body of the text. I had to scroll on several pages despite the short chapters.” – boomlinde
Theme 3 – Real‑world usage and trade‑offs
While combinators are praised for ease of use, many noted that for high‑performance parsing developers often hand‑roll parsers or turn to PEGs/parser generators, choosing the tool that balances simplicity with speed.
“For speed, almost everyone rolls a parser by hand.” – raddan
“Combinators, PEGs, parser generators (like lex/yacc, ANTLR) are mostly easy. For speed, almost everyone rolls a parser by hand.” – raddan
“I've written quite a few (by hand) in my time. They're awesome for writing parsers that resemble the language you're trying to parse!” – prologic
“Parser combinators are stronger than pure regular expressions but I'm not sure how they compare to the non‑regular regexes we use in programming (PCRE etc).” – schindlabua
These three themes—teaching/functional simplicity, recognized limitations/performance issues, and practical considerations for real‑world parsing—capture the prevailing sentiments in the discussion.