śĪbi[ĒD      !"#$%&'()*+,-./0123456789:;<=>?@ABC Safe-Infered Extension of D/ that allows testing a value for equality with E. The following law must hold:  mnull == (== mempty) FGHIJKLFGHIJKL Safe-Infered=Class of monoids that can be split into irreducible factors, i.e.-, atoms or primes. The methods of this class  satisfy the following laws:   mconcat . factors == id  factors mempty == [] ) all (\f-> factors f == [f]) (factors m) Y factors == unfoldr splitPrimePrefix == reverse . unfoldr (fmap swap . splitPrimeSuffix) 4 primePrefix == maybe mempty fst . splitPrimePrefix 4 primeSuffix == maybe mempty snd . splitPrimeSuffix % mfoldl f f0 == foldl f f0 . factors % mfoldr f f0 == foldr f f0 . factors G mspan p m == (mconcat l, mconcat r) where (l, r) = span p (factors m) -A minimal instance definition must implement  or . 9Returns a list of all prime factors; inverse of mconcat. The prime prefix, E if none. The prime suffix, E if none. LSplits the argument into its prime prefix and the remaining suffix. Returns M for E. LSplits the argument into its prime suffix and the remaining prefix. Returns M for E. Like N on the list of primes. Like O on the list of primes. Like P on the list of primes. A Q equivalent. A R equivalent. A S equivalent. A T equivalent. A U equivalent. A V equivalent.  WXY    WXY Safe-InferedqClass of monoids that allow the greatest common denominator to be found for any two given values. The operations " must satisfy the following laws: N commonPrefix (a `mappend` b) (a `mappend` c) == a `mappend` commonPrefix b c N commonSuffix (a `mappend` c) (b `mappend` c) == commonSuffix a b `mappend` c Class of monoids for which the Z@ operation can be reverted while satisfying the following laws: * mstripPrefix a (a `mappend` b) == Just b * mstripSuffix b (a `mappend` b) == Just a / maybe b (a `mappend`) (mstripPrefix a b) == b / maybe b (`mappend` a) (mstripSuffix a b) == b )Class of monoids with a right inverse of Z , satisfying the following law: * mstripSuffix b (a `mappend` b) == Just a / maybe b (`mappend` a) (mstripSuffix a b) == b (Class of monoids with a left inverse of Z , satisfying the following law: * mstripPrefix a (a `mappend` b) == Just b / maybe b (a `mappend`) (mstripPrefix a b) == b [\]^_`abcdefghijkl  [\]^_`abcdefghijkl Safe-InferedLike optional, but restricted to D results. 'Zero or more argument occurrences like m, but concatenated. &One or more argument occurrences like n, but concatenated. (Lifted and potentially optimized monoid Z$ operation from the parameter type.      Safe-Infered!YThe central parser type. Its first parameter is the input monoid, the second the output. "*Feeds a chunk of the input to the parser. #Signals the end of the input. $mExtracts all available parsing results. The first component of the result pair is a list of complete results w together with the unconsumed remainder of the input. If the parsing can continue further, the second component of the ] pair provides the partial result prefix together with the parser for the rest of the input. %Like $R, but returns only the complete results with the corresponding unconsumed inputs. &Like $., but returns only the partial result prefix. +Like o>, but capable of mapping partial results, being restricted to D types only. ,CBehaves like the argument parser, but without consuming any input. -+Does not consume any input; succeeds (with E( result) iff the argument parser fails. 1:A parser that fails on any input and succeeds at its end. 2-A parser that accepts any single input atom. 3-A parser that accepts a specific input atom. 4NA parser that accepts an input atom only if it satisfies the given predicate. 5BA parser that consumes and returns the given prefix of the input. 6oA parser accepting the longest sequence of input atoms that match the given predicate; an optimized version of  'concatMany . satisfy'. 7nA parser accepting the longest non-empty sequence of input atoms that match the given predicate; an optimized  version of 'concatSome . satisfy'. 8@Accepts the given number of occurrences of the argument parser. 9-Discards the results of the argument parser. :CRepeats matching the first argument until the second one succeeds. ;!A parser that accepts all input. <eParallel parser conjunction: the combined parser keeps accepting input as long as both arguments do. =NA sequence parser that preserves incremental results, otherwise equivalent to   (,) p(Two parsers can be sequentially joined. q Usage of r1 destroys the incrementality of its left argument's parsing results, but s is safe to use. tThe uW combinator requires its both arguments to provide complete parsing results, takeWhile v and w # preserve the incremental results. x Usage of oD destroys the incrementality of parsing results, if you need it use + instead. #!"#$%&'()*+,-./0123456789:;<=ypzqtx! !"#$%&'()*+,-./0123456789:;<=!!"#$%&'01234;56789:/+() ,-<=.*#!"#$%&'()*+,-./0123456789:;<=ypzqtx Safe-Infered?An empty type to specialize > for the left-biased { instance. |The } instances are the same as the { instances. ~QLeft-biased choice. The right parser is used only if the left one utterly fails. >?@|~# "#$%&'()*+,-./0123456789:;<=>?@>?@>?@|~ Safe-InferedBAn empty type to specialize A for the symmetric { instance. The } instances are the same as the { instances. €The symmetric version of the  choice combinator. ABC€# "#$%&'()*+,-./0123456789:;<=ABCABCABC€‚     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG+HI+JKLMNLMOPQRSTUVLWXLYZL[\LY]LY^LY_L[`LYaLY@LYbcdeLMfghijklmnopqrstuvwxLyzLy{L[|}~L[L[€Ly‚LyƒLy„…†‡LyˆL‰Š‹ˆ‹LyŒincremental-parser-0.2.1Data.Monoid.NullData.Monoid.FactorialData.Monoid.CancellativeControl.Applicative.Monoid"Text.ParserCombinators.Incremental2Text.ParserCombinators.Incremental.LeftBiasedLocal,Text.ParserCombinators.Incremental.Symmetric AlternativeliftA2 MonoidNullmnullFactorialMonoidfactors primePrefix primeSuffixsplitPrimePrefixsplitPrimeSuffixmfoldlmfoldrmspanmbreakmlengthmmapmreverse mtakeWhile mdropWhile GCDMonoidCancellativeMonoidRightGCDMonoid commonSuffix LeftGCDMonoid commonPrefixRightCancellativeMonoid mstripSuffixLeftCancellativeMonoid mstripPrefixMonoidAlternative moptional concatMany concatSomeMonoidApplicative><ParserfeedfeedEofresultscompleteResults resultPrefixfailure<||><<|>showWithmapIncremental lookAhead notFollowedBy isInfalliblemapTypemoreeofanyTokentokensatisfystring takeWhile takeWhile1countskipmanyTill acceptAllandandThenLeftBiasedLocalleftmost SymmetricallOfbase Data.MonoidMonoidmempty$fMonoidNullLast$fMonoidNullFirst$fMonoidNullMaybe$fMonoidNull(,)$fMonoidNullText$fMonoidNullByteString$fMonoidNull[] Data.MaybeNothingGHC.ListfoldlGHC.Basefoldrspanbreaklengthmapreverse dropWhile$fFactorialMonoidText$fFactorialMonoidByteString$fFactorialMonoid[]mappend$fGCDMonoidText$fRightGCDMonoidText$fLeftGCDMonoidText$fCancellativeMonoidText$fRightCancellativeMonoidText$fLeftCancellativeMonoidText$fGCDMonoidByteString$fRightGCDMonoidByteString$fLeftGCDMonoidByteString$fCancellativeMonoidByteString#$fRightCancellativeMonoidByteString"$fLeftCancellativeMonoidByteString $fGCDMonoid[]$fCancellativeMonoid[]$fRightGCDMonoid[]$fRightCancellativeMonoid[]$fLeftGCDMonoid[]$fLeftCancellativeMonoid[]Control.Applicativemanysomefmap$fMonoidParser $fMonadParser>>=>>$fApplicativeParser<*>*><*$fFunctorParser$fMonoidAlternativeParser$fMonoidApplicativeParser$fMonadPlusParser Control.Monad MonadPlus$fAlternativeParser<|>