I've been learning parsec for a few days and my brain cells are aching.
It's amazing though what can be done with it.
I started to write a parser for a weird programming language we use at work. I would have been too lazy to do it in C, besides I never wrote a parser and have no knowledge about them.
Yet with Haskell and parsec, step by step, I add more things that parse.
It's hell when something doesn't parse the way I thought I tell it to. Being used to debug program by setpping through the code or tracing doesn't help once you switch to Haskell. This is the part that make the brain hurt.