Îõ³h*²™&       ! " # $%0.4.0 Safe-Inferred )1=>ÀÁËÎÛäã&'()*+,- Safe-Inferred )1=>ÀÁËÎÛä  symparsec&Parse a hexadecimal digit (0-9A-Fa-f).(Both upper and lower case are permitted. symparsecParse a decimal digit (0-9). symparsecParse an octal digit (0-7). symparsecParse a binary digit (0 or 1). Safe-Inferred )1=>ÀÁËÎÛäv symparsecReverse a type level list. Safe-Inferred )1=>ÀÁËÎÛäÓ  symparsec#A defunctionalization symbol for a  . symparsec#A defunctionalization symbol for a . symparsec#A parser you can pass (heh) around.(Parsers are defined by the product of a  character parser,   end handler, and s starting state.  symparsec Parser error.  symparsecBase parser error.  symparsec%Inner parser error inside combinator.  symparsec(What a parser should do at the end of a ..  symparsec(The result of a single step of a parser. symparsec!OK, continue with the given state symparsec!OK, parse successful with result r symparsec parse error symparsecParse a / with the given state.ÿThe action is always consuming. For this reason, you may need to look ahead for the final case, so as to not consume an extra /Â. This prevents many zero-length parsers. It's a bit weird. See  for an example.  symparsec parser name symparsec error message  symparseccombinator name symparsec inner error       Safe-Inferred )1=>ÀÁËÎÛä” symparsecùHelper for writing error messages to do with parser limitations (e.g. if you tried to use a non-consuming parser like Skip 0). symparsec,At the end of the symbol, emit parser state. symparsec>Fail with the given message if we're at the end of the symbol. symparsec>Fail with the given message when given any character to parse. Safe-Inferred )1=>ÀÁËÎÛä  symparsecAssert end of symbol, or fail. Safe-Inferred )1=>ÀÁËÎÛä ¸ symparsec*Run the given parser isolated to the next n characters.)All isolated characters must be consumed. Safe-Inferred )1=>ÀÁËÎÛä  symparsecParse the given .. Safe-Inferred )1=>ÀÁËÎÛä – symparsecÀParse a natural in the given base, using the given digit parser. symparsec;Parse a hexadecimal (base 16) natural. Permits mixed-case ( 0-9A-Fa-f). symparsec"Parse a decimal (base 10) natural. symparsec Parse an octal (base 8) natural. symparsec Parse a binary (base 2) natural.  Safe-Inferred )1=>ÀÁËÎÛä , symparsec>Parser choice. Try left; if it fails, backtrack and try right.€Be warned that this parser is experimental, and likely brittle. If possible, consider designing your schema to permit non-backtracking parsing. Or if not, have both sides always parse the same length, in which case this parser should probably work fine.3  Safe-Inferred )1=>ÀÁËÎÛä) symparsecUnsafe   which doesn't check for n=0. May get stuck.  symparsec Skip forward n! characters. Fails if fewer than n characters are available.    Safe-Inferred )1=>ÀÁËÎÛäš! symparsecReturn the next n characters.!!  Safe-Inferred )1=>ÀÁËÎÛä-" symparsecÇSequence two parsers, running left then right, and return both results."""4  Safe-Inferred )1=>ÀÁËÎÛäá# symparsecâSequence two parsers, running left then right, and discard the return value of the left parser.###4 Safe-Inferred )1=>ÀÁËÎÛä$ symparsecãSequence two parsers, running left then right, and discard the return value of the right parser.Consider using Ð instead, which is simpler and potentially faster since we parse left-to-right.$$$4 Safe-Inferred )1=>ÀÁËÎÛäC"#$! "#$!  Safe-Inferred )1=>ÀÁËÎÛäI0 symparsecError while running parser.1 symparsec%Parser error at index X, character C.2 symparsec!Parser error on the empty string.3 symparsecRe-construct the output from 4.5 symparsecíInspect end parser result for the empty string, where we have no previous character or (meaningful) index.6 symparsecInspect end parser result.7 symparsec Inspect character parser result.ÔThis is purposely written so that the main case is at the top, and a single equation (we parse, prepare next character and inspect character parser result at the same time). My hope is that this keeps GHC fast.% symparsec"Run the given parser on the given ..%% Safe-Inferred )1=>ÀÁËÎÛäƒ% !"#$%8 !"#$%&'()*+,-./012345 6 7 8 9 : ;<=>?@ABCDEFGEFHIIJKLMNOPQÒsymparsec-0.4.0-inplaceSymparsec.Internal.DigitsSymparsec.Internal.ListSymparsec.ParserSymparsec.Parser.CommonSymparsec.Parser.EndSymparsec.Parser.IsolateSymparsec.Parser.LiteralSymparsec.Parser.NaturalSymparsec.Parser.OrSymparsec.Parser.SkipSymparsec.Parser.TakeSymparsec.Parser.ThenSymparsec.Parser.Then.VoidLeftSymparsec.Parser.Then.VoidRight Symparsec.Run symparsecPaths_symparsecData.Type.Symbol.Parser.ParserDrop,Data.Type.Symbol.Parser.Parser.Then.VoidLeft:*>:Symparsec.Parsers Symparsec ParseHexDigitParseDecimalDigitParseOctalDigitParseBinaryDigitReverse'Reverse ParserEndSym ParserChSymParserEEBaseEIn ParserEndResultContDoneErrParserChErrParserLimitation EmitEndSym FailEndSym FailChSymEndIsolateLiteralNatBaseNatHexNatDecNatOctNatBin:<|>:Skip'SkipTake:<*>::<*:Runversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDirgetDataFileName getSysconfDirghc-prim GHC.TypesSymbolCharERunERun0 ReconsSymbolbase GHC.TypeLits UnconsSymbolRunEnd0RunEndRunCh