HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

Modulemegaparsec-9.7.0Haskell2010

Text.Megaparsec.Char

Commonly used character parsers.

  • 32 values
  • Packagemegaparsec-9.7.0
  • Exports32
  • LanguageHaskell2010
  • LicenceBSD-2-Clause
  • SourceChar.hs

Simple parsers

8 declarations
valuecrlf :: (MonadParsec e s m, Token s ~ Char) => m (Tokens s)
#

Parse a carriage return character followed by a newline character. Return the sequence of characters parsed.

Categories of characters

20 declarations
valuespaceChar :: (MonadParsec e s m, Token s ~ Char) => m (Token s)
#

Parse a Unicode space character, and the control characters: tab, newline, carriage return, form feed, and vertical tab.

valueupperChar :: (MonadParsec e s m, Token s ~ Char) => m (Token s)
#

Parse an upper-case or title-case alphabetic Unicode character. Title case is used by a small number of letter ligatures like the single-character form of Lj.

valueletterChar :: (MonadParsec e s m, Token s ~ Char) => m (Token s)
#

Parse an alphabetic Unicode character: lower-case, upper-case, or title-case letter, or a letter of case-less scripts/modifier letter.

valuealphaNumChar :: (MonadParsec e s m, Token s ~ Char) => m (Token s)
#

Parse an alphabetic or numeric digit Unicode characters.

Note that the numeric digits outside the ASCII range are parsed by this parser but not by digitChar. Such digits may be part of identifiers but are not used by the printer and reader to represent numbers.

valueasciiChar :: (MonadParsec e s m, Token s ~ Char) => m (Token s)
#

Parse a character from the first 128 characters of the Unicode character set, corresponding to the ASCII character set.

valuelatin1Char :: (MonadParsec e s m, Token s ~ Char) => m (Token s)
#

Parse a character from the first 256 characters of the Unicode character set, corresponding to the ISO 8859-1 (Latin-1) character set.

Single character

2 declarations
valuechar' :: (MonadParsec e s m, Token s ~ Char) => Token s -> m (Token s)
#

The same as char but case-insensitive. This parser returns the actually parsed character preserving its case.

Example2 expressions
parseTest (char' 'e') "E"'E'parseTest (char' 'e') "G"1:1:unexpected 'G'expecting 'E' or 'e'

Sequence of characters

2 declarations