!,}%z      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxySafetSafe<QV!s parsec-classParsers functions like x or wa use this type to provide a helpful context in case the parser failes. Parsec uses the synonym n for the same purpose, but in fact this type doesn't necessarily have to be a file name. It can be any name or identifier. Oftentimes, it it's useful to pass the name of the type that the parser attempted to parse.t parsec-classtTypes that are instances of this class can be parsed and constructed from some character based text representation.v parsec-class A simplified Ub parser that consumes some kind of character stream without requiring any particular state state.w parsec-classConvenience wrapper around 9 that uses the tk class to determine the desired parser for the given result type. The function reports syntax errors via z.*parseM "Natural" "987654321" :: IO Natural 987654321-parseM "Natural" "123456789" :: Maybe NaturalJust 123456789DPlease note that parsers run this way do not ignore any white space:&parseM "Natural" " 1" :: Maybe NaturalNothing&parseM "Natural" "1 " :: Maybe NaturalNothingx parsec-classConvenience wrapper around 8 that uses the tj class to determine the desired parser for the given result type. The function reports syntax errors by {ing e. This approach is inherently impure and complicates error handling greatly. Use this function only on occasions where parser errors are fatal errors that your code cannot recover from. In almost all cases, w is the better choice."parse "Natural" "12345" :: Natural12345Like wL, this function does not skip over any white space. Use Parsec's primitive 8 or 9, functions if you don't like this behavior:NrunParser (spaces >> parser) () "Natural" " 1 " :: Either ParseError NaturalRight 1x  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVYWX\Z[a`_^]cbdefghijklmnopqstuvwxxvtuswx  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVYWX\Z[a`_^]cbdefghijklmnopq|      !"#$%&'()*+,-./012131415161718191:1;1<1=1>1?1@1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1[1\1]1^1_1_1`1a1b1c1d1e1f1f1g1hijiklmlnlolplqlrlsltlulvlwlxyz{|}~+parsec-class-1.0.0.0-G83sNEpcT453ikmSK7xxvQText.Parsec.ClassText.Parsec.Class.Orphansparsec-3.1.13.0Text.Parsec.CharstringsatisfyanyCharcharoctDigithexDigitdigitletteralphaNumloweruppertab endOfLinecrlfnewlinespacespacesnoneOfoneOfText.Parsec.Combinator parserTraced parserTracemanyTill notFollowedByeofanyTokenchainr1chainl1chainlchainrcountendByendBy1sepEndBy sepEndBy1sepBy1sepBymany1 skipMany1betweenoptional optionMaybeoptionchoiceText.Parsec.Prim updateStatesetState modifyStateputStategetStateupdateParserStatesetParserStategetParserStatesetInput setPositiongetInput getPosition parseTest runParser runParserTrunPrunPT manyAccumskipManymany tokenPrimEx tokenPrimtoken lookAheadtrytokenslabelslabel<|> parserPlus parserZero parserFailmergeErrorReply parserBind parserReturn parsecMapmkPT runParsecT unexpectedsysUnExpectError unknownErrorParsecTParsecEmptyConsumedErrorOkReply stateUserstatePos stateInputStateunconsStreamText.Parsec.ErrorerrorPos ParseErrorText.Parsec.PossetSourceColumn setSourceLine setSourceNameincSourceColumn incSourceLine sourceColumn sourceLine sourceName SourceNameLineColumn SourcePos$fExceptionParseError ErrorContext HasParserparser CharParserparseMparse$fHasParserNaturalbaseControl.Monad.Failfail GHC.Exceptionthrow