h$v      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsNone567<>?tuvwxyz{None567<>? simple-parserStrict pair of parse result and state at the time it was yielded. simple-parserStrict | for parse results.   None567<>?  simple-parserUse / if you have no need for other monadic effects. simple-parserA  is a stateerrorlist transformer useful for parsing. All MTL instances are for this transformer only. If, for example, your effect has its own }4 instance, you'll have to use 'lift get' instead of ~. simple-parserRuns a non-effectful parser from an inital state and collects all results. simple-parserFilters parse results simple-parserA kind of "catch" that returns all results, success and failure. simple-parser4Combines the results of many parsers. Equvalent to asum. simple-parserIf the parse results in ANY successes, keep only those. Otherwise return all failures. This may block indefinitely as it awaits either the end of the parser or its first success. See  if you want only one success. simple-parserIf the parse results in ANY successes, keep only THE FIRST. Otherwise return all failures. This may block indefinitely as it awaits either the end of the parser or its first success. See  if you want all successes. simple-parserIf the parser yields no results (success or failure), yield a given value. simple-parserA parser that yields  if there are no results (success or failure), otherwise wrapping successes in .  simple-parserRemoves all failures from the parse results. Equivalent to 'catchError (const empty)'.! simple-parserYields the LONGEST string of 0 or more successes of the given parser (and passes through failures)." simple-parserSame as ! but discards the result.# simple-parserYields the LONGEST string of 1 or more successes of the given parser (and passes through failures).$ simple-parserSame as # but discards the result.% simple-parserYield the results of the given parser, but rewind back to the starting state. Note that these results may contain errors, so you may want to stifle them with  , for example. !"#$% !"#$%None567<>? b3 simple-parser3 lets us peel off tokens and chunks for parsing with explicit state passing.; simple-parser; captures the basic relationship between tokens and chunks of them. Basically, these things behave like lists, sequences, text, etc./0123456789:;<=>?@ABCDE;<=>?@AB3456789:CD/012ENone567<>?R simple-parser4Return the next token, if any, but don't consume it.S simple-parser.Return the next token, if any, and consume it.T simple-parserReturn the next chunk of the given size, if any, but don't consume it. May return a smaller chunk at end of stream, but never returns an empty chunk.U simple-parserReturn the next chunk of the given size, if any, and consume it. May return a smaller chunk at end of stream, but never returns an empty chunk.V simple-parserDrop the next chunk of the given size, if any, and consume it. May return a smaller size at end of stream, but never returns size 0.W simple-parserIs this the end of the stream?X simple-parser4Match the end of the stream or terminate the parser.Y simple-parser?Return the next token or terminate the parser at end of stream.Z simple-parserReturn the next chunk of the given size or terminate the parser at end of stream. May return a smaller chunk at end of stream, but never returns an empty chunk.[ simple-parserMatch the next token with the given predicate or terminate the parser at predicate false or end of stream.\ simple-parserFolds over a stream of tokens while the boolean value is true. Always succeeds, even at end of stream.] simple-parserTake tokens into a chunk while they satisfy the given predicate. Always succeeds, even at end of stream. May return an empty chunk.^ simple-parserTake tokens into a chunk while they satisfy the given predicate. Only succeeds if 1 or more tokens are taken, so it never returns an empty chunk._ simple-parserDrop tokens and return chunk size while they satisfy the given predicate. Always succeeds, even at end of stream. May return empty chunk size 0.` simple-parserDrop tokens and return chunk size while they satisfy the given predicate. Only succeeds if 1 or more tokens are dropped.a simple-parserMatch token with equality or terminate the parser at inequality or end of stream.b simple-parserMatch chunk with equality or terminate the parser at inequality or end of stream.RSTUVWXYZ[\]^_`abRSTUVWXYZ[\]^_`abNone567<>?L  !"#$%/0123:98764545;BA@?><=CDERSTUVWXYZ[\]^_`abNone 567<>? cdefghijkl cdefghijkl      !"#$%&'()*+,-./01234556789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghhijklmnopqrstuvwxyz{|}~*simple-parser-0.2.2-Hq09nbCgHVjC9LVRKS3MovSimpleParser.ResultSimpleParser.ParserSimpleParser.StreamSimpleParser.InputSimpleParser.Examples.JsonPaths_simple_parser SimpleParser ParseResultprValueprState ParseValue ParseError ParseSuccess parseValueparseSuccessResultparseErrorResult$fEqParseResult$fShowParseResult$fFunctorParseResult$fFoldableParseResult$fTraversableParseResult$fEqParseValue$fShowParseValue$fFunctorParseValue$fFoldableParseValue$fTraversableParseValueParserParserT runParserT runParser filterParser reflectParser branchParsersuppressParser isolateParser defaultParseroptionalParser silenceParsergreedyStarParsergreedyStarParser_greedyPlusParsergreedyPlusParser_lookAheadParser$fMFunctorTYPEParserT$fMonadTransParserT$fMonadStatesParserT$fMonadErroreParserT$fMonadPlusParserT$fAlternativeParserT$fMonadParserT$fApplicativeParserT$fFunctorParserT OffsetStreamosOffsetosStateStreamChunkToken streamTake1 streamTakeNstreamTakeWhile streamDropNstreamDropWhileChunked consChunk unconsChunk tokenToChunk tokensToChunk chunkToTokens chunkLength chunkEmptydefaultStreamDropNdefaultStreamDropWhilenewOffsetStream$fChunkedTextChar $fChunkedSeqa $fChunked[]a $fStreamText $fStreamSeq $fStream[]$fStreamOffsetStream$fEqOffsetStream$fShowOffsetStream$fFunctorOffsetStream$fFoldableOffsetStream$fTraversableOffsetStream peekTokenpopToken peekChunkpopChunk dropChunkisEndmatchEndanyTokenanyChunk satisfyTokenfoldTokensWhiletakeTokensWhiletakeTokensWhile1dropTokensWhiledropTokensWhile1 matchToken matchChunkJsonunJsonJsonF JsonObject JsonArray JsonStringJsonBoolJsonNull parseJson$fEqJson $fShowJson $fEqJsonF $fShowJsonF$fFunctorJsonF$fFoldableJsonF$fTraversableJsonFversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNamebase Data.EitherEither mtl-2.2.2Control.Monad.State.Class MonadStateget GHC.MaybeNothingJust