upvote
I’ve always used parser combinaties in Haskell and I’ve never seen the things you describe. I guess in Haskell one always directly apply the parts to the function you want (ie an AST node constructor).
reply
I think this is because Haskell allows hiding the tuples construction/unwrapping with do-notation. My primary interaction with parser combinators, in OCaml, uses a similar trick with binding operators. If you don't have some sort of syntactic sugar like that they do become a lot more unwieldy.
reply
We are spoiled in so many ways by Haskell!

Parser combinators alone makes monads (or really applicative functors) worth it. But then there are the all the other spectacular things we can do with monads!

reply
This. The <$ and $> operators are very elegant for parsers.
reply
This. The <$ and $> operators are very elegant for parsers.
reply
This. The <$ and $> operators are very elegant for parsers.
reply
This. The <$ and $> operators are very elegant for parsers.
reply
Does your language have native tuple destructuring syntax?

The ignore example is just p1 <* p2 in Haskell (that operator is in the standard library).

reply
[dead]
reply