Can parser combinators be made efficient?
I’ve come up with a Haskell solution that is 30× faster than the Haskell solution you posted (with my concocted test expression). Major changes: Change Parsec/String to Attoparsec/ByteString In the fact function, change read & many1 digit to decimal Made the chainl1 recursion strict (remove $! for the lazier version). I tried to keep everything … Read more