[Haskell-beginners] Parsing keywords

Francesco Ariis fa-ml at ariis.it
Sat Oct 3 09:21:38 UTC 2015

On Sat, Oct 03, 2015 at 10:12:20AM +0100, Mike Houghton wrote:
> Hi,
> What is the idiomatic way of parsing keywords, in a case agnostic
> fashion, for a ‘mini-language’?

I lifted this from `Text.ParserCombinators.Parsec.Rfc2234` and used it
in a project of mine (lentil).

    ciString s = mapM ciChar s <?> "case insensitive string"
              ciChar :: Char -> ParIssue Char
              ciChar c = char (C.toLower c) <|> char (C.toUpper c)

This assumes you are using Parsec parsing library.

More information about the Beginners mailing list